生产环境下的iptables设置,这是我自己的一点总结,浅显之处望大家指出批评,共同学习。

我的局域网为192.168.1.0/24。


1.先清空所有规则

iptables -F

iptables -X

iptables -Z

iptables -t nat -F

iptables -t nat -X

iptables -t nat -Z


设置默认规则前开发ssh(6123)端口

iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --dport 6123 -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --sdport 6123 -j ACCEPT


设置默认规则

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP


打开回环设备

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT


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

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


开发ftp服务器(21)

iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A  OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED,RELATED -j ACCEPT


开发WWW服务器(80,443)

iptables -A INPUT -p tcp -m multiport --dports 80, 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A  OUTPUT -p tcp -m multiport --dports 80, 443  -m state --state ESTABLISHED,RELATED -j ACCEPT


允许DNS出站连接

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

iptables -A INPUT -p udp --sport 53 -j ACCEPT


如果服务器还要开发其他服务,可以相应添加。


最后保存设置:iptables-save > /etc/sysconfig/iptables 或者 service iptables save。

从默认配置文件里还原iptables配置:iptables-restore 


在linux中配置防火墙时,一定要注意iptables中规则的顺序,哪个在前,哪个在后。

根据以后的学习,此文会实时更新。望大家多给提点意见,共同进步!