Iptables防火牆,iptables

來源:互聯網
上載者:User

Iptables防火牆,iptables
1 位置

使用vim /usr/sysconfig/iptables

2 啟動、關閉、儲存
  • service iptables stop
  • service iptables start
  • service iptables restart
  • service iptables save
3 結構

iptables –> tables –> chains –>rules

3.1 iptables的表與鏈

iptables具有Filter,NAT,Mangle,Raw四種內建表

3.1.1 Filter表

filter表示iptables的預設表,它具有三種內建鏈:

  • input chain   - 處理來之外部的資料
  • output chain - 處理向外發送的資料
  • forward chain- 將資料轉寄到原生其它網卡上

3.1.2 NAT表

NAT有三種內建的鏈:

  • prerouting   - 處理剛到達本機並在路由轉寄前的資料包,它會轉換資料包中的目標IP地址(destination ip address),通常用於DNAT(destination NAT)。
  • postrouting - 處理即將離開本機資料包,它會轉換資料包中的源目標IP地址(source ip address),通常SNAT(source NAT)
  • output        - 處理本機產生的資料包
3.1.3 Mangle表

Mangle表用於指定如何處理資料包,它能改變TCP頭中的Qos位,Mangle表具有5個內建鏈

  • prerouting
  • output
  • forward
  • input
  • postrouting
3.1.4 Raw表

raw表使用者處理異常,它具有2個內建鏈

  • prerouting chain
  • output chain
3.2 Iptables規則(Rules)
  • rules包括一個條件和一個目標(target)
  • 如果滿足條件就執行目標target中規則或者特定值
  • 如果不滿足條件,就判斷下一條Rules
3.2.1 目標值
  • accept - 允許防火牆接收資料包
  • drop    - 防火牆丟棄資料包
  • queue  - 防火牆將資料包移交到使用者空間
  • return  - 防火牆停止執行當前鏈中的後續rules規則,並返回到調用鏈(the calling chain)
4 命令

#iptables -t filter -L   查看filter表

#iptables -t nat  -L    查看nat表

#iptables -t mangel -L 查看mangel表

#iptables -t raw  -L 查看Raw表

例如 以下例子表明在filter表的input鏈, forward鏈, output鏈中存在規則:

# iptables --listChain INPUT (policy ACCEPT)num  target     prot opt source               destination1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0Chain FORWARD (policy ACCEPT)num  target     prot opt source               destination1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0Chain OUTPUT (policy ACCEPT)num  target     prot opt source               destinationChain RH-Firewall-1-INPUT (2 references)num  target     prot opt source               destination1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/02    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 2553    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/04    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/05    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:53536    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:6317    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:6318    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:2210   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
欄位說明

num:編號

target:目標

prot:協議

source:資料包的源IP地址

destination:資料包的目標地址

4.1 清空所有的規則 

#iptables –flush

4.2 追加命令

iptables -A命令追加新規則,其中-A表示append,一般而言最後一條規則用於丟棄(drop)所有資料包,並且使用-A參數添加新規則,那麼就是無用的。

4.2.1 文法

iptables –A chain firewall-rule

  • -A chain 指定要追加的規則的鏈
  • firewall-rule 具體規則的參數
4.2.2 基本參數

用於描述資料包的協議,源地址、目的地址、允許經過的網路介面,以及如何處理這些資料包。

  • 協議 –p (protocol)
    如tcp,udp,icmp等,可以使用all來指定所有協議
    不指定-p參數,預設值是all,
    可以使用協議名(tcp,udp),或者協議值(6代表tcp),映射關係可以查看/etc/protocols
  • 源地址 –s (source)
    指定資料包的源地址,參數可以使用IP地址、網路地址、主機名稱,不指定-s參數,就是代表所有地址。
    例如:-s 192.168.1.101 具體的IP地址
    例如:-s 192.168.1.10/24 指定網路地址
  • 目的地址 –d  (destination)
    指定目的地址,參數和-s相同
  • 執行目標 –j (jump to target)
    -j代表了當與規則(Rule)匹配時如何處理資料包,可能的值是accept、drop、queue、return,還可以指定其他鏈(chain)作為目標
  • 輸入介面 –i (input interface)
    指定了要處理來自哪個介面的資料包,這些資料包進入input、forward、prepoute鏈,不指定將處理進入所有介面的資料包
    例如:-i eth0 指定了要處理eth0進入的資料
    可以取反  !-i eth0,指eth0以外。
    可以匹配  -i eth+ 指以eth開頭的
  • 輸出介面 –o (out interface)
    資料包有那個介面輸出,類似於 –i
  • 源連接埠 –sport
    例如 –sport 22
    例如 –sport 22:100指定連接埠範圍
  • 目的連接埠 –dport
    類似於-sport
  • TCP標誌
  • ICMP類型
5 執行個體分析

例如:接收目標連接埠為22的資料包

iptables –A INPUT –i etho –p tcp –dprot 22 –j ACCEPT

例如:拒絕所有其他資料包

iptables –A INPUT –j DROP

6 修改預設策略

上例僅對接收的資料包進行過濾,而對於要發出的資料包卻沒有任何限制。

使用iptables –L

# iptables -LChain INPUT (policy ACCEPT)target     prot opt source               destinationACCEPT     tcp  --  anywhere             anywhere            tcp dpt:sshDROP       all  --  anywhere             anywhere            Chain FORWARD (policy ACCEPT)target     prot opt source               destination         Chain OUTPUT (policy ACCEPT)target     prot opt source               destination

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.