iptables防火墙配置
之前一直以为对iptables防火墙了解一些了,原来真到用的时候才发现还有很多的不足,这次又进行了一些实用性的调整,将这个配置记录下来,以后持续更新此贴。争取让他越来越好用。
iptables是个很强力的防火墙,与freebsd下的pf一样出名。其实我常用的还是pf比较多,但是linux机器多了也得使用iptables
iptables在linux 主机安装后是默认存在的。初始都没有配置文件,可以通过命令行管理再导出配置,用于启动自动加载,配置文件保存路径
Centos:/etc/sysconfig/iptables(默认)
Ubuntu:/etc/iptables.eth0.rules(ubuntu没找到默认的位置)
centos系统启动iptables是用过chkconfig管理的chkconfig –list iptables,只要配置文件在指定目录下就可以加载配置
ubuntu系统启动iptables是通过update-rc.d管理的,需要通过/etc/network/interfaces添加下面这句
pre-up iptables-restore < /etc/iptables.eth0.rules
好了言归正传说iptables,省略说教的成分贴张图先,这张图能最好的体现iptables的处理流程。
下面给出一个一般网站的配置样例:
# Generated by iptables-save v1.4.7 on Mon Nov 3 14:49:43 2014 *nat :PREROUTING ACCEPT [58315:8183529] :POSTROUTING ACCEPT [12682:934092] :OUTPUT ACCEPT [12682:934092] -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE #VPN隧道上网NAT COMMIT # Completed on Mon Nov 3 14:49:43 2014 # Generated by iptables-save v1.4.7 on Mon Nov 3 14:49:43 2014 *filter :INPUT DROP [2444:208027] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [10281:30767180] -A INPUT -s 127.0.0.1/32 -j ACCEPT #允许本地回环,用于支持反向代理 -A INPUT -p udp -m udp --sport 53 -j ACCEPT #允许DNS查询结果返回 -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT #允许访问22端口 -A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT #允许访问80端口 -A INPUT -p udp -m udp --dport 500 -j ACCEPT #允许IPSEC -A INPUT -p udp -m udp --dport 4500 -j ACCEPT #允许IPSEC -A INPUT -p udp -m udp --dport 1701 -j ACCEPT #允许L2tp -A INPUT -i lo -j ACCEPT #允许本地回环地址访问 -A INPUT -m state --state INVALID -j DROP #拒绝无效连接 -A FORWARD -s 192.168.1.0/24 -j ACCEPT COMMIT # Completed on Mon Nov 3 14:49:43 2014