1. 程式人生 > >centos 7 下iptables引數詳解

centos 7 下iptables引數詳解

在紅帽RHEL7系統中firewalld服務取代了iptables服務,如果我們不想用或者不習慣使用firewalld服務,請看下面的操作:

 

iptables命令中則常見的控制型別有:

  1. ACCEPT:允許通過.
  2. LOG:記錄日誌資訊,然後傳給下一條規則繼續匹配.
  3. REJECT:拒絕通過,必要時會給出提示
  4. DROP:直接丟棄,不給出任何迴應.

 

規則鏈則依據處理資料包的位置不同而進行分類:

  PREROUTING:在進行路由選擇前處理資料包

  INPUT:處理入站的資料包

  OUTPUT:處理出站的資料包

  FORWARD:

處理轉發的資料包

  POSTROUTING:在進行路由選擇後處理資料包

 

Iptables中的規則表:

      規則表的先後順序:raw→mangle→nat→filter

規則鏈的先後順序:

入站順序:PREROUTING→INPUT

出站順序:OUTPUT→POSTROUTING

轉發順序:PREROUTING→FORWARD→POSTROUTING

 

 iptables的基本引數:

引數 作用
-P 設定預設策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空規則鏈
-L 檢視規則鏈
-A 在規則鏈的末尾加入新規則
-I num 在規則鏈的頭部加入新規則
-D num 刪除某一條規則
-s 匹配來源地址IP/MASK,加歎號"!"表示除這個IP外。
-d 匹配目標地址
-i 網絡卡名稱 匹配從這塊網絡卡流入的資料
-o 網絡卡名稱 匹配從這塊網絡卡流出的資料
-p 匹配協議,如tcp,udp,icmp
--dport num 匹配目標埠號
--sport num 匹配來源埠號

 例項:iptables的filter的配置:

--關閉firewall:

[[email protected] ~]# systemctl stop firewalld.service            #停止firewall
[[email protected] ~]# systemctl disable firewalld.service        #禁止firewall開機啟動

--安裝安裝iptables防火牆

[[email protected] ~]# yum install iptables-services            #安裝

--清空已有的規則

iptables -F
iptables -X
iptables -Z

--配置允許指定網段主機SSH登陸埠進入

iptables -I INPUT -s 192.168.0.1/24 -p tcp --dport 22 -j ACCEPT

--允許本地所有主機進入

iptables -A INPUT -p tcp -s 192.168.0.0/24 -j ACCEPT

--允許本機lo通訊

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

--設定預設的訪問規則

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

--允許關聯的狀態包通過

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

--開放特定的埠,以80為例

iptables -A INPUT -p tcp --dport 80 -j ACCEP

 --儲存配置

service iptables save

--重啟

systemctl restart iptables.service

--設定開機自啟動

 systemctl enable iptables.service