IPTABLES邏輯介紹以及部分參數

對於linux用戶來說,iptable是必不可少的必備技能之一! 可能跟多人都會感覺iptables很難,一點都不熟悉!感覺亂七八糟的!其實iptables(防火牆)難得不是命令多麼複雜。而是你把邏輯關係搞懂 了!剩下的命令也就是有點手生的感覺!但是都能看懂是幹嘛的了!
   iptables由PREROUTING(路由前)進入,根據路由決策是否轉發,還是入站
   iptables根據路由決策讓數據  入站----  出站 -----路由後
   iptables根據路由決策將數據   轉發----------路由後   #因爲沒有進入本機,所以不用出站

          網絡A                       路由選擇入站到出站

           數據         INPUT(入站)  --->     OUTPUT(出站)

             ↓         ↑                              ↓

           路由選擇讓數據入站                      出站到路由後             網絡B

        PREROUTING(路由前)                         POSTROUTING(路由後) →  出站數據

               路由選擇不入站

                        ↓        因爲轉發,沒有入站      ↑

                  FORWARD(轉發)       →→→→           ↑

   看完這個有點爛的拓撲圖,是不是對防火牆工作的運轉有了個大概的瞭解呢!下邊說一下四個表的作用

表之間的匹配順序是raw →→mangle →→nat →→filter表!下邊說一下那個表中包含了什麼鏈!
                raw(跟蹤路由前出站的數據包)               mangle(修改數據標記)   
             nat(地址轉換表)                            filter(過濾表)


     raw表             mangle表             nat表              filter表

       路由前          路由前               路由前              入站

     PREROUTING        PREROUTING           PREOUTING           INPUT

       出站             路由後               路由後              轉發

     OUTPUT            POSTROUTING          POSTROUTING         FORWARD

                         入站                出站                出站

                        INPUT                OUTPUT              OUTPUT

                        出站

                        OUTPUT

                         轉發

                        FORWARD

  這是四個表中包含的鏈,默認情況下,一般對filter表操作的最多!下面說下處理動作,

   ACCEPT:允許通過  DROP:直接丟棄,不給迴應  REJECT:拒絕通過,會給迴應  LOG:記錄日誌,然後傳給下一條規則。iptables是匹配到就執行匹配到的操作,停止向下匹配LOG是匹配規則之外的!
   規則鏈之間的順序
   入站 INPUT → PREROUTING
   出站 OUTPUT →  POSTROUTING
   轉發  PREROUTING → FORWARD → POSTROUTING
  順序對比,匹配到了停止(LOG除外),若無任何匹配,則按該鏈的默認策略處理
   添加規則    -A 在鏈末尾追加一條規則
                     -I  在開頭或者指定序號插入規則

    查看規則   -n  以數字的形式顯示地址端口等
                     --line-numbers 查看規則時,顯示規則的序號
    刪除規則    -D  刪除鏈內指定序號
                      -F  清空所有規則
    默認策略    -P   爲指定鏈設置默認規則
    filter表過濾與轉發
                      1,協議匹配   -P 協議名
  通用匹配       2,地址匹配   -s源地址  -d目標地址
                      3,接口匹配    -i 收數據的網卡  -o發送數據的網卡
                     
                       1,端口匹配  --sport源端口   --dport 目標端口
  隱含匹配        2,ICMP匹配   --icmp-type  ICMP類型
                        3,TCP標記      --tcp-flags 檢查哪些位,那些爲被設置    !取反值

                       1,狀態匹配  -m state --state狀態值
  顯示匹配        2,MAC地址匹配   -m mac --mac-soure    MAC地址
                       3,多端口匹配       -m multiport   --sports  源端口列表
                                                     -m multiport   --dport    目標地址端口
  
IP範圍匹配             -m iprange   --src-range  IP1-IP2
                              -m iprange   --dst-range  IP1-IP2
   IPtables參數就說到這裏,一般常用的也不多,熟悉了就知道了!沒事多練練!

    查看錶規則

       iptables -nL

  修改默認表規則

       iptables -P INPUT DROP

  插入表規則

       iptables -I INPUT -p tcp --dport 80 -j ACCEPT #開放本機80端口

       iptables -I INPUT -p tcp --dport 80 -j REJECT #關閉本機80端口

       iptables -I INPUT -s 192.168.1.1 -j ACCEPT    #允許這個IP訪問本機

      iptables -I INPUT -p tcp --dport 80 -s 192.168.1.1 -j DROP #拒絕這個IP訪問本機80端口

      iptables  -t nat -I postrouting -s 192.168.0.0/24 -j SANT --to-source 124.126.X.X
       #將192.168.0.0段源地址轉換爲124.126.X.X

     iptables -t nat -I PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1
      #將訪問在192.168.1.1 80端口轉到192.168.2.1上去
  
     iptables -t filter -I INPUT -p icmp -j REGECT  #拒絕ping本機

     iptables -I FORWARD -m string --algo bm --string "/etc/passwd"  -j REJECT
           #拒絕含有/etc/passwd關鍵字的通過
      iptables -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.1.1 --dport 80 -j DNAT --to 192.168.1.1:8080   
          #將訪問本機的80端口轉到8080端口上去

    保存防火牆規則

     service iptables save

     查看防火牆規則

     service iptables status

     iptables -nL --line-numbers #顯示規則行號

    刪除防火牆規則

     iptables -D INPUT 2  #刪除INPUT中的第二條規則

  好了,關於防火牆的簡單介紹就說到這了!有很多都沒有說,包括一些參數也沒有解釋!因爲iptables看着看着就懂那些參數是幹嘛的了!希望大家有所收穫!明白防火牆的工作流程之後,自己寫防火牆規則的話也不會是不知道該怎麼下手了!

  希望大家又說收穫!在此祝福大家生活愉快!


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