Iptables命令使用舉例

Iptables 命令使用舉例
1 、鏈的基本操做
(1) 清除全部規則
1)          清除預設表 filter 中全部規則鏈中的規則
# iptables –F
2) 清除預設表 filter 中使用者自定鏈中的規則
      # iptables –X
3) 將指定鏈中全部規則的包字節計數器清零
      #  iptables –Z
(2) 設置鏈的默認策略
  1 )先容許,再禁止
      用下面的命令初始化
         # iptables –P INPUT  ACCEPT
         # iptables –P OUTPUT  ACCEPT
         # iptables –P FORWARD  ACCEPT
2)          先禁止,再容許
      用下面的命令初始化
         # iptables –P INPUT  DROP
         # iptables –P OUTPUT  DROP
         # iptables –P FORWARD  DROP
3 )列出表 / 鏈中的全部規則
# iptables –L –n
4 )向鏈中添加規則。下面的語句用於開放網絡接口
#  iptables –A INPUT –i lo –j ACCEPT
#  iptables –A OUTPUT –o lo –j ACCEPT
#  iptables –A INPUT –i eth0 –j ACCEPT
#  iptables –A OUTPUT –o eth0 –j ACCEPT
#  iptables –A FORWARD –i eth0 –j ACCEPT
#  iptables –A FORWARD –o eth0 –j ACCEPT
5 )使用用戶自定義鏈
   #  iptables –N custom
   #  iptables –A custom –s 0/0 –d 0/0 –p icmp –j DROP
   #  iptables –A INPUT –s 0/0 –d 0/0 –j custom  
2 、設置基本的規則匹配(忽略目標動做)
(1) 指定協議匹配
1)          匹配指定的協議
#  iptables –A INPUT –p tcp
2)          匹配指定協議以外的全部協議
#  iptables –A INPUT –p ! tcp
(2) 指定地址匹配
1)          指定匹配的主機
#  iptables –A INPUT –s 192.168.0.1
2)          指定匹配的網絡
#  iptables –A INPUT –s 192.168.0.0/24
3)          匹配指定主機以外的地址
   #  iptables –A INPUT –s ! 192.168.0.1
4)          匹配指定網絡以外的網絡
  #  iptables –A INPUT –s ! 192.168.0.1/24
(3) 指定網絡接口匹配
1)          指定單一的網絡接口匹配
#  iptables –A INPUT –i eth0
#  iptables –A FORWARD –o eth0
2)          指定同類型的網絡接口匹配
#  iptables –A FORWARD –o ppp+
(4) 指定端口匹配
1)          指定單一的端口匹配
#  iptables –A INPUT –p tcp –sport wwww
#  iptables –A INPUT –p tcp –sport 80
#  iptables –A INPUT –p udp –sport 53
#  iptables –A INPUT –p udp –dport 53
2)          匹配指定端口以外的端口
#  iptables –A INPUT –p tcp –dport !22
3)          匹配指定的端口範圍
#  ipbables –A INPUT –p tcp –sport 22:80
4)          匹配 ICMP 端口和 ICMP 類型
#  iptables –A INPUT –p icmp-type 8
(5) 指定 IP 碎片
  #  iptables –A FORWARD –p tcp –s 192.168.0.0/24 –d 192.168.2.100 –dport 80 –f ACCEPT
  #  iptables –A FORWARD –f –s 192.168.0.0/24 –d 192.168.2.100 –j ACCEPT
3 、設置擴展的規則匹配(忽略目標動做)
1 )多端口匹配擴展
   1 )匹配多個源端口
#  iptables –A INPUT –p tcp –m multiport –source-port 22,53,80,110
   2 )匹配多個目的端口
    #  iptables –A INPUT –p tcp –m multiport –destination-port 22,53,80,110
   3 )匹配多個端口
    #  iptables –A INPUT –p tcp –m multiport –prot 22,53,80,110
2 )指定 TCP 匹配擴展
   經過使用 --tcp-flags 選項能夠根據 TCP 包的標誌位進行過濾,第一個參數爲要檢查的標誌位;第二個參數是標誌位爲 1 的標誌
#  iptables –A INPUT –p tcp --tcp-flags SYN,FIN,ACK SYN
#  iptables –p tcp --syn
表示 SYN ACK FIN 的標誌都要檢查,可是隻有設置了 SYN 的才匹配
# iptables –A INPUT –p tcp --tcp-flags ALL SYN,ACK
表示 ALL SYN ACK FIN RST USG PSH )的標誌都要檢查,可是隻有設置了 SYN ACK 的才匹配
3 limit 速率匹配擴展
   1 )指定單位時間內容許經過的數據包個數
# iptables –A INPUT –m limit --limit 300/hour
表示限制每小時容許經過 300 個數據包
   2 )指定觸發事件的閥值(默認值是 5
# iptables –A INPUT –m limit --limit-burst 10
表示一次涌入的封包超過 10 個將被直接丟棄
3 )同時指定速率限制和觸發閥值
# iptables –A INPUT –p icmp –m limit –limit 3/m –limit-burst 3
相關文章
相關標籤/搜索