首先,把三个表清空,把自建的规则清空。
iptables -F
iptables -X
设定INPUT、OUTPUT的默认策略为DROP,FORWARD为ACCEPT。
iptables -P INPUT -j DROP
iptables -P OUTPUT -j DROP
iptables -P FORWARD -j ACCEDPT
NEW: 该包想要开始一个新的连接(重新连接或连接重定向)
RELATED:该包是属于某个已经建立的连接所建立的新连接。举例:
FTP的数据传输连接和控制连接之间就是RELATED关系。
ESTABLISHED:该包属于某个已经建立的连接。
INVALID:该包不匹配于任何连接,通常这些包被DROP。
把“回环”打开
iptables -A INPUT -i lo -j ACCEPT
iptables -A ONPUT -o lo -j ACCEPT
在所有网卡上打开ping功能,便于维护和检测。
iptables -A INPUT -i eth+ -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -o eth+ -p icmp --icmp-type 8 -j ACCEPT
打开22端口,允许远程管理。(设定了很多的附加条件:管理机器IP必须是250,并且必须从eth0网卡进入)
iptables -A INPUT -i eth0 -s 192.168.100.255 -d 192.168.100.1 -p tcp --dport 22,23 -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.100.1 -d 192.168.100.255 -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.100.0/24 -p tcp --dport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth2 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth2 -p udp --sport 53 -j ACCEPT
iptables -A INPUT -i eth+ -p tcp --dport 80 -j LOG --log-prefix 'iptables_80' --log-level info
注由于本地进程不会经过FORWARD链,因此回环接口lo只在INPUT和OUTPUT两个链上作用。
iptables -A INPUT -m limit --limit 200/s(还可以设置为200/m,200/h,200/d)
INPUT -A INPUT -p tcp -m state --state ESTABLISHED,NEW,RELATED -j ACCEPT
INPUT -A INPUT -p tcp -m state --state INVALID -j DROP