Iptables(1) - 基礎概念

一、Iptables

iptables是防火牆, 它是Netfilter框架的實現, 在報文流經的五個位置設置鉤子函數(hook function)對報文進行檢查並做出相應處理.

防火牆工作於主機或網絡的邊界, 對於進出本主機或網絡的報文根據事先定義好的檢查規則作匹配檢查, 對於能夠被規則匹配到的報文做出相應處理. 防火牆分爲主機防火牆網絡防火牆.

iptables命令工作在用戶空間.

1.1 iptables的表

iptables根據其具有的功能劃分出四個表:

  • filter: 過濾, 因過濾功能被稱爲防火牆
  • nat(Network Address Translation): 網絡地址轉換
  • mangle: 拆解報文, 做出修改, 封裝報文
  • raw: 關閉nat表上啓用的連接追蹤機制

1.2 iptables的鏈(內置)

iptables有五個鏈(鉤子函數):

  • PREROUTING
  • INPUT
  • FORWARD
  • OUTPUT
  • POSTROUTING

1.2.1 流量流入

PREROUTING --> INPUT

1.2.2 流量流出

OUTPUT --> POSTROUTING

1.2.3 轉發

PREROUTING --> FORWARD POSTROUTING

1.3 各表實現的位置

  • filter: INPUT, FORWARD, OUTPUT
  • nat: PREROUTING(dnat), OUTPUT(snat), POSTROUTING(snat)
  • mangle: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
  • rwa: PREROUTING, OUTPUT

1.4 路由發生的位置

  • 報文進入本機後, 判斷目標主機
  • 報文發出前, 判斷僅有哪個接口送往下一條

1.5 iptables的四表五鏈

  • 添加規則時的考量點
    • 要實現哪種功能: 判斷添加在哪張表上
    • 報文流經的路徑: 判斷添加在哪個鏈上
  • 鏈: 鏈上規則的次序, 即爲檢查的次序; 因此隱含一定的法則
    • 同類規則(訪問同一應用): 匹配範圍小的放上面
    • 不同類規則(訪問不同應用): 匹配到報文頻率較大的放上面
    • 將那些可由一條規則表述的多個規則合併爲一個
    • 設置默認策略

功能優先級次序: row --> mangle --> nat --> filter

1.6 iptables的規則

iptables的規則組成部分如下:

  • 報文的匹配條件: 根據協議報文特徵指定匹配條件
    • 基本匹配條件
    • 擴展匹配條件
  • 匹配到之後的處理動作
    • 內建處理機制
    • 自定義處理機制

NOTE: 報文不會經過自定義鏈, 只能在內置鏈上通過規則進行應用後生效.

1.7 保存及重載規則

  1. 保存

    $ iptables-save > /PATH/TO/SOMEFILE
  2. 重載
    $ iptables-restore < /PATH/TO/SOMEFIE
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章