linux下防火牆iptables用法規則詳解

iptables規則

規則--顧名思義就是規矩和原則,和現實生活中的事情是一樣的,國有國法,家有家規,所以要遵紀守法的嘛。當然在防火牆上的規則,在內核看來,規則就是決定如何處理一個包的語句。如果一個包符合所有的條件,我們就用相應的處理動作來處理。書寫規則的語法格式爲:

    iptables [-t table] command  chains [creteria]  -j  action

     -t table就是表名,filter/nat/mangle三個表中的一個,默認是filter表

     command告訴程序如何做,比如:插入一個規則,還是刪除等

     chains 鏈,有五個,PREROUTING  POSTROUTING INPUT OUTPUT FORWARD

     action 處理動作,有ACCEPT  DENY DROP REJECT  SNAT  DNAT

理一下思路

 下面一點點的說


一、Tables 

         選項-t用來指定用哪個表,它可以是下面的任何一個,默認的是filter表


二、COMMANDS

command指定iptables對我們提交的規則要做什麼樣的操作。這些操作可能是在某個表裏增加或刪除一些東西,或其他的動作。一下是iptables可用的command(如不做說明,默認表是filter)

   

和命令結合常用的選項

 


 三、chains

簡單說一下五個鏈的作用:

PREROUTING 是在包進入防火牆之後、路由決策之前做處理

POSTROUTING 是在路由決策之後,做處理

INPUT  在包被路由到本地之後,但在出去用戶控件之前做處理

OUTPUT在去頂包的目的之前做處理

FORWARD在最初的路由決策之後,做轉發處理

四、匹配條件

4.1 基本匹配

 

4.2 隱含擴展匹配

     這種匹配操作是自動的或隱含的裝入內核的。例如使用-p tcp時,不需要再裝入任何東西就可以匹配只有IP包纔有的特點。隱含匹配針對三種不同的協議,即TCP   UDP ICMP。它們分別有一套適用於相應協議的判斷標準

 TCP匹配 只能匹配TCP包的細節,必須有-p tcp作爲前提

--sport port   基於TCP包的源端口來匹配包

--dport port   基於TCP包的目的端口來匹配包

--tcp-flags tcp標誌位    有兩個參數列表。第一個是指定要檢查的標識位;第二個是指定爲1的標識位

UDP匹配

--sprot port
--dport  port

ICMP匹配

--icmp-type
     8 request 請求
     0 reply  回覆 響應

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章