7月 03

linux iptables 我的例子

[整理人:张子萌 2010-7]
  服务器为内网服务器,对外提供web服务器需要解析DNS,所以对外开通80、53端口。服务器登陆需要连接连接到VPN服务器后,才能连接服务器。服务器使用eth0网卡.
  打开iptables文件
#vi /etc/sysconf/iptables
添加如下内容:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[0:0] -A INPUT -s 192.168.1.0/255.255.255.0 -p icmp -m icmp –icmp-type any -j ACCEPT
[0:0] -A INPUT -p icmp -m icmp –icmp-type any -j DROP
[0:0] -A INPUT -p udp -m udp –sport 53 -j ACCEPT
[0:0] -A INPUT -p udp -m udp –dport 53 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp –sport 80 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp –sport 25 -j ACCEPT
[0:0] -A INPUT -s ! 192.168.1.0/255.255.255.0 -p udp -j ACCEPT
[0:0] -A INPUT -s ! 192.168.1.0/255.255.255.0 -p tcp -j ACCEPT
[0:0] -A INPUT -p tcp -m tcp –dport 110 -j DROP
[0:0] -A FORWARD -p tcp -m tcp –tcp-flags SYN,RST,ACK SYN -m limit –limit 1/sec -j ACCEPT
[0:0] -A FORWARD -p tcp -m tcp –tcp-flags FIN,SYN,RST,ACK RST -m limit –limit 1/sec -j ACCEPT
[0:0] -A FORWARD -p icmp -m icmp –icmp-type 8 -m limit –limit 1/sec -j ACCEPT
[0:0] -N syn-flood
[0:0] -A syn-flood -m limit –limit 1/s –limit-burst 4 -j RETURN
[0:0] -A syn-flood -j DROP
[0:0] -A OUTPUT -d 192.168.1.0/255.255.255.0 -p udp -j ACCEPT
[0:0] -A OUTPUT -d 192.168.1.0/255.255.255.0 -p tcp -j ACCEPT
[0:0] -A OUTPUT -p udp -m udp –sport 53 -j ACCEPT
[0:0] -A OUTPUT -p udp -m udp –dport 53 -j ACCEPT
[0:0] -A OUTPUT -p tcp -m tcp –sport 80 -j ACCEPT
[0:0] -A OUTPUT -p tcp -m tcp –dport 80 -j ACCEPT
[0:0] -A OUTPUT -p tcp -m tcp –dport 25 -j ACCEPT
[0:0] -A OUTPUT -d ! 192.168.1.0/255.255.255.0 -o eth0 -p udp -j DROP
[0:0] -A OUTPUT -d ! 192.168.1.0/255.255.255.0 -o eth0 -p tcp -j DROP
COMMIT
  保存内容,重启防火墙。
# /etc/init.d/iptables restart
注:在远程调试防火墙时,为了避免调试失败,自己都进不去,最好把防火墙设置为不随操作系统启动。命令如下:

# chkconfig –level 0123456 iptables off

个人配置仅供参考
参考网站:http://www.hudong.com/wiki/iptables%E5%AE%9E%E4%BE%8B