iptables 表、鏈知識


1.1 IPTABLES

  1、什么是Netfilter/iptales?
       Netfilter是表(iptables)的容器,這樣解釋大家肯定還是不清楚吧
       舉個例子,如果把Netfilter看成是某小區的一棟樓。那么表(iptables)就是樓里的其中一套房子。這套房子“表”屬於這棟樓“Netfilter”
  2、什么是表(tables)?
       表(tables)是鏈的容器,即所有的鏈(chains)都屬於其對應的表(tables)
  3、什么是鏈(chains)?
       鏈(chains)是規則(policys)的容器。

1.2 IPTABLES
  1、容器:包含或者說屬於的關系
  2、Netfilter/iptables是表的容器,iptables包含的4個表
     (filter,NAT,MANGLE,RAW)
  3、iptables的表(tables)又是鏈的容器
      鏈chains:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING
  4、鏈chains是規則容器:
  5、規則Policy:一條條過濾的語句。

1.3 iptables工作流程
    前面介紹已經提到,iptables是采用數據包過濾機制工作的,所以它會對請求的數據包的包頭數據進行分析,並根據我們預先設定的規則進行匹配來確定是否可以進入主機。
    數據包的流向是從左向右的:

    小結:

    1、防火牆是層層過濾的,實際是按照配置規則的順序從上到下,從前到后進行過濾的。
    2、如果匹配上規則,即明確表明是阻止還是通過,數據包就不在向下進行匹配新規則了。
    3、如果所有規則中沒有明確表明是阻止還是通過,也就是沒有匹配規則,向下進行匹配,直到匹配默認規則得到明確的阻止還是通過。
    4、防火牆默認規則是所有的規則執行完才會執行的。
    5、匹配上了拒絕規則也是匹配,這點要多注意。

1.4 iptables表(iptables)和鏈(chains)
    描述完iptables術語后,相信大家對iptables的表和鏈有了初步的了解。默認情況下,Iptables根據功能和表的定義划分包含三個表,filter,nat,mangle,其中每個表又包含不同的操作鏈
    下面的表格展示了表和鏈的對應關系:

   


   

 

   

   

1.5 iptables表和鏈工作的流程圖
     下面的這張圖清晰的描繪了netfilter對包的處理流程

   

     簡化版為:

    

  強調:上圖可以用北京地鐵1,2號線來描述:
  1號線:主要是NAT功能
  企業案例:1)局域網上網共享(路由和網關),NAT POSTROUTING
                2) 外部IP和端口映射為內部IP和端口(DMZ功能),NAT PREROUTING
  2號線:主要是filter功能,即防火牆功能FILTER INPUT FORWARD
  企業案例:
                1)主要應用就是服務器防火牆

1.6 更多iptables知識請參看

  iptables 從鏈、表開始理解

      linux下IPTABLES配置詳解

      iptables 命令介紹


   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM