iptable範例

1、語法:

   Usage:

   iptables -t [table] -[AD] chain rule-specification[options]


2、基本的處理行爲:ACCEPT(接受)、DROP(丟棄)、REJECT(拒絕)


3、匹配指定協議外的所有協議

    iptables -A INPUT -p ! tcp

   匹配主機源IP

    iptables -A INPUT -s 10.0.0.14

    iptables -A INPUT -s ! 10.0.0.14

   匹配網段

   iptables -A INPUT -s 10.0.0.0/24

   iptables -A INPUT -s ! 10.0.0.0/24

   匹配單一端口

   iptables -A INPUT -p tcp --sport 53

   iptables -A INPUT -p udp --dport 53


4、封端口:

    iptables -t filter -A INPUT -p tcp --dport 80 -j DROP            

    (--sports 源端口)

   (2280 端口範圍)

    iptables -t filter -A INPUT -p tcp -m multiport  --dport 222,323 -j ACCEPT

   (-m multiport 列元素 222,323)



5、 封ip :

    iptables -t filter -A    INPUT   -i eth0 -s 10.0.0.105 -j DROP 

    -s 源地址

    -i 進  -o 出 指定網絡接口

    


6、禁ping

    iptables -t filter -A INPUT -p icmp --icmp-type 8   ! -s 10.10.70.0/24 -j DROP     

    (!非)
 iptables -t filter -I INPUT  2 -p icmp --icmp-type any  -s 10.10.70.0/24 -j DROP            (any 所有類型)

    ( -I 2 指定位置)


7、匹配網絡狀態:

    iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    -m state --state:允許關聯的狀態包通過

     NEW:已經或將啓動新的連接
    ESTABLISHED:已建立的連接
    RELATED:正在啓動新連接
    INVALID:非法或無法識別的


8、本機地址:172.16.14.1,允許172.16.0.0/16網絡ping本機,但限制每分鐘請求不能超過20,每次併發

  不能超過6個.

  iptables -A INPUT -s 172.16.0.0/16 -d 172.16.14.1 -p icmp --icmp-type 8 -m limit --limit 20/min --limit-burst 6 -j ACCEPT

   iptables -A OUTPUT -s 172.16.14.1 -d 172.16.0.0/16 -p icmp --icmp-type 0 -j ACCEPT

    -m limit

    --limit n/{second/minute/hour}:指定時間內的請求速率"n"爲速率,後面爲時間分別爲:秒、分、時   

    --limit-burst [n]:在同一時間內允許通過的請求"n"爲數字,不指定默認爲5


9、自定義鏈處理syn***
    iptables -N syn-flood
    iptables -A INPUT -i eth0 -syn -j syn-flood
    iptables -A syn-flood -m limit -limit 5000/s -limit-burst 200 -j RETURN
    iptables -A syn-flood -j DROP


10、網關服務器配置端口地址轉換

    iptables -t nat -A PREROUTING -d 192.168.1.9 -p tcp --dport 80 -j DNAT --to-destination 10.10.70.60:9000


12、配置網關:

   server 1 :eht0 10.10.70.60 eth1 192.168.1.10

    server 2 : eth0 192.168.1.9

    開啓路由轉發:

    sed -n "s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g" /etc/sysctl.conf

    sysctl  -p    

    清除配置:

    iptables -F
    iptables -Z
    iptables -X

    開啓FORWORD  :  iptables -P    FORWARD ACCEPT

    查看是否有配置內核模塊:lsmod | grep nat,如無,請加載。

   配置:

     iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0-j SNAT --to-source 10.10.60.10

      或:

      iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE  僞裝

13、映射多個外網IP上網
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.240.0 -o eth0 -j SNAT --to-source 124.42.60.11-124.42.60.16
iptables -t nat -A POSTROUTING -s 172.16.1.0/255.255.255.0 -o eth0 -j SNAT --to-source 124.42.60.103-124.42.60.106


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