Linux添加防火牆、iptables的安裝和配置(親測)

 

iptables基礎linux


       規則(rules)其實就是網絡管理員預約義的條件,規則通常的定義爲「若是數據包頭符合這樣的條件,就這樣處理這個數據包」。規則存儲在內核空間的信息 包過濾表中,這些規則分別指定了源地址、目的地址、傳輸協議(如TCP、UDP、ICMP)和服務類型(如HTTP、FTP和SMTP)等。當數據包與規 則匹配時,iptables就根據規則所定義的方法來處理這些數據包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火牆的 主要工做就是添加、修改和刪除這些規則。web

規則鏈:centos


1.INPUT    ——進來的數據包應用此規則鏈中的策略
2.OUTPUT     ——外出的數據包應用此規則鏈中的策略
3.FORWARD  ——轉發數據包時應用此規則鏈中的策略
4.PREROUTING  ——對數據包做路由選擇前應用此鏈中的規則
(記住!全部的數據包進來的時侯都先由這個鏈處理)
5.POSTROUTING ——對數據包做路由選擇後應用此鏈中的規則
(全部的數據包出來的時侯都先由這個鏈處理)服務器

-A 在指定鏈的末尾添加(append)一條新的規則 -D 刪除(delete)指定鏈中的某一條規則,能夠按規則序號和內容刪除 -I 在指定鏈中插入(insert)一條新的規則,默認在第一行添加 -R 修改、替換(replace)指定鏈中的某一條規則,能夠按規則序號和內容替換 -L 列出(list)指定鏈中全部的規則進行查看 -E 重命名用戶定義的鏈,不改變鏈自己 -F 清空(flush) -N 新建(new-chain)一條用戶本身定義的規則鏈 -X 刪除指定表中用戶自定義的規則鏈(delete-chain) -P 設置指定鏈的默認策略(policy) -Z 將全部表的全部鏈的字節和數據包計數器清零 -n 使用數字形式(numeric)顯示輸出結果 -v 查看規則表詳細信息(verbose)的信息 -V 查看版本(version) -h 獲取幫助(help)


規則表之間的優先順序:網絡

Raw——mangle——nat——filter
規則鏈之間的優先順序(分三種狀況):app

第一種狀況:入站數據流向tcp

       從外界到達防火牆的數據包,先被PREROUTING規則鏈處理(是否修改數據包地址等),以後會進行路由選擇(判斷該數據包應該發往何處),若是數據包 的目標主機是防火牆本機(好比說Internet用戶訪問防火牆主機中的web服務器的數據包),那麼內核將其傳給INPUT鏈進行處理(決定是否容許通 過等),經過之後再交給系統上層的應用程序(好比Apache服務器)進行響應。測試

第二衝狀況:轉發數據流向

       來自外界的數據包到達防火牆後,首先被PREROUTING規則鏈處理,以後會進行路由選擇,若是數據包的目標地址是其它外部地址(好比局域網用戶經過網 關訪問QQ站點的數據包),則內核將其傳遞給FORWARD鏈進行處理(是否轉發或攔截),而後再交給POSTROUTING規則鏈(是否修改數據包的地 址等)進行處理。centos7

第三種狀況:出站數據流向
       防火牆本機向外部地址發送的數據包(好比在防火牆主機中測試公網DNS服務器時),首先被OUTPUT規則鏈處理,以後進行路由選擇,而後傳遞給POSTROUTING規則鏈(是否修改數據包的地址等)進行處理。spa

 

 

iptables 的安裝與配置

 

因爲centos7默認是使用firewall做爲防火牆,下面介紹如何將系統的防火牆設置爲iptables。

#中止firewall 
systemctl stop firewall.service

#禁止firewall開機啓動 
systemctl disable firewall.service

 

#安裝iptables 
yum install iptables-services

 

 

#編輯防火牆文件 (建議都在配置文件配置,不要命令配置
vi /etc/sysconfig/iptables 
#添加80和3306端口 等等(本身配置)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT   
       #80端口開放

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT    #3306端口開放

-I INPUT -s 113.106.93.110 -p tcp --dport 8089 -j DROP                         #禁止指定IP訪問 8089

-I INPUT -s 113.106.93.110 -p tcp --dport 8080 -j ACCEPT                    #開放固定ipIP訪問 8080

 

#重啓防火牆使配置文件生效  
systemctl restart iptables.service

#設置iptables防火牆爲開機啓動項 
systemctl enable iptables.service

 

service iptables  start          #啓動服務

service iptables  stop     #中止服務

service iptables  restart  #重啓服務

 

關閉SELINUX 
vi /etc/selinux/config  #註釋如下配置  SELINUX=enforcing  SELINUXTYPE=targeted    #增長如下配置  SELINUX=disabled    #使配置當即生效  setenforce 0

相關文章
相關標籤/搜索