Iptables的一些簡單實例

[root@localhost ~]# iptables -L        //查看Iptables規則鏈中的全部規則; [root@localhost ~]# iptables -F        //清空Iptables規則鏈中全部規則; [root@localhost ~]# iptables -P INPUT DROP             //全部進入本機的數據包都將丟棄; [root@localhost ~]# iptables -P INPUT ACCEPT         //容許全部的數據包進入本機; [root@localhost ~]# iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN -j DROP        //容許本地主機對外發起TCP鏈接時,能收到外部主機的TCP應答並創建鏈接; DROP       tcp  --  anywhere             anywhere            tcp flags:SYN,ACK/SYN 或者: [root@localhost ~]# iptables -A INPUT -p tcp --syn -j DROP                                   DROP       tcp  --  anywhere             anywhere            tcp flags:SYN,RST,ACK/SYN       //不但過濾SYN,還過濾reset; [root@localhost ~]# iptables -A INPUT -s ! 192.168.100.0/24 -p icmp -j DROP             //禁止除192.168.100.0網段外的主機ping本地計算機; [root@localhost ~]# iptables -A OUTPUT -d ! 192.168.100.0/24 -m owner --uid-owner 0 -j DROP    //把uid=0,也就是root用戶的數據包除發往192.168.100.0網段外,所有drop掉; Chain OUTPUT (policy ACCEPT) target       prot opt source             destination DROP       all  --  anywhere            !192.168.100.0/24    OWNER UID match root 轉換源IP地址: [root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE   //未來自192.168.100.0網段的數據包中來源IP地址,轉換成eth0網卡的IP地址; 若是eth0有固定ip,寫固定IP會比較好: [root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to-source 10.0.1.254 轉換目的IP地址: [root@localhost ~]# iptables -t nat -A PREOUTING -d [url]www.example.com[/url] -p tcp --dport 80 -j DNAT --to-dest 192.168.100.1 //將全部到目的地[url]www.example.com[/url]的、使用TCP協議的、端口爲80的數據包的目的地IP地址,轉換爲192.168.100.1 [root@localhost ~]# iptables -A INPUT -p all -s 0.0.0.0/0.0.0.0 -i lo -j ACCEPT     //容許來自lo網絡接口的全部數據包;