iptables

linux訪問控制:
   Firewall:
     rules、policy
   防火牆分類:
     工作在三層的網絡防火牆、七層防火牆    
    NetFilter:
      hook functions 五個“鉤子函數”
       chains
        PREROUTINT 路由前的
        INPUT  數據包包的流入接口
        FORWARD 轉發
        OUTPUT 由本機出來的
        POSTROUTING 路由後的
      防火牆策略:“通”、“堵” : 通就全通,堵只需單堵 
      允許/不允許:filter
      地址轉換:nat
      修改報文原數據:mangle
      使用表來實現同一個鏈上的不同規則
      
      四表五鏈
        filter :INPUT,FORWARD,OUTPUT
        nat    :PREROUTING OUTPUT POSTROUTING
        mngle  : PREROUTING INPUT FORWARD OUTPUT POSTROUTING
        raw    :PREROUTING OUTPUT

wKioL1P0nCTC33ZOAAHG2WqmLL8626.jpg      iptables定義規則
      iptables [-t table(默認filter)] COMMAND chain CRETIRIA(匹配規則) -j ACTION 
          COMMAND: 
             鏈管理命令:
                -P :設置默認策略
                    # iptables -P INPUT {DROP|ACCEPT}
                -F : flush 清空規則鏈的
                    # iptables -t nat -F PREROUTING
                -N :new 新建一個鏈
                    # iptables -N inbound_tcp_web
                -X :刪除用戶自定義的空鏈,刪除之前清空裏面的規則
                -E : 給用戶自定義的鏈重命名
                -Z :清空鏈默認規則及鏈中規的計數器的
             規則管理命令:
                -A :在當前的鏈中最後追加
                -I num:插入爲第num條
                -R num:修改規則,替換
                   # iptables -R -num +新規則
                -D num:刪除,指定刪除第num條                
             查看命令:
                -L :list 查看
                   -n 以數字方式顯示,不進行解析
                   -v 詳細信息
                   -vv
                   -vvv
                   -x 計數器的精確值,不做單位換算
                   --line-numbers :顯示行號   
          匹配標準
            通用匹配:
                -s,--source,-src :做原地址匹配,不能使用主機名,使用ip
                     eg: IP,NETWORK/NETMASK,0.0.0.0/0.0.0.0
                -d :匹配目標地址
                -p :匹配協議的{tcp|udp|icmp}
                -i eth0: inbount流入的
                -o eth0:流出的接口
            擴展匹配:
              隱含擴展:
                -p tcp 
                    --dport :目標端口
                    --sport : 源端口
                    --tcp-flags:tcp的標誌位  SYN.ACK.FIN.PSH.RST.URG.
                       --tcp-flags  檢查的標誌位 必須爲1的標誌位
                        eg:--tcp-flags syn,ack,fin,rst   syn  ==--syn//實現第一次握手
                -p udp
                   --dport
                   --sport
                -p icmp
                   --icmp-type 8
                     echo-request ==8  ping出去的數據包
                     echo-reply ==0  ping的相應
              顯式擴展         
                 使用各種擴展模塊
                   -p tcp -m multiport --drops 21,23,80
           ACTION
              -j  ACTION  
                  DROP   悄悄拒絕
                  REJECT 明確拒絕
                  ACCEPT 接受
                  custom_chain
                  DNAT 目標nat
                  SNAT 原nat
                  MASQUERADE 地址僞裝
                  REDIRECT重定向
                  MARK 標記
                  RETURN    
 state狀態
   NEW
   ESTABLSHED
   RELATED
   INVALID                
                  
service iptables save 保存
默認保存在/etc/sysconfig/iptables

iptable-save > /etc/sysconfig/iptables.2 保存到指定的文件中

iptables-restore < /etc/sysconfig/iptables.2 啓動文件iptables.2裏面定義的規則 

                   
iptables實現nat: 
 源地址轉換
 iptables -t nat -A  POSTROUTING -s NETWORK/PREFIX  -j SNAT --to-source  Internet_IP              
 如果地址不是固定的,使用MASQUERADE來僞裝地址
  iptables -t nat -A  POSTROUTING -s 192.168.0.0/24 -j  MASQUERADE                  
 目標 地址轉換
   iptables -t nat -A PREROUTING -d INternet_fa  -p tcp --dport 80 -j DNAT --to-destination NEI_IP                    


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