在配置自己的iptables之前要先清除之前的规则
[root@stations65 ~]# iptables -F 清除预设表filter中的所有规则链的规则
iptables的配置重启就会失效,要保存可以使用下面的命令.
[root@stations65 ~]# /etc/rc.d/init.d/iptables save
这样就可以写到/etc/sysconfig/iptables文件里了.写入后把防火墙重启一下就能起作用了
[root@stations65 ~]# service iptables restart
设定预设规则
[root@stations65 ~]# iptables -P INPUT DROP
[root@stations65 ~]# iptables -P OUTPUT ACCEPT
[root@stations65 ~]# iptables -P FORWARD DROP
设置运行远程SSH登陆:
[root@stations65 ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@stations65 ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
开启了web服务器
[root@stations65 ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@stations65 ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
邮件服务器,开启25,110端口.
[root@stations65 ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
[root@stations65 ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
如果做了Fstations65服务器,开启21端口
[root@stations65 ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@stations65 ~]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
如果做了DNS服务器,开启53端口
[root@stations65 ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT
如果你还做了其他的服务器,需要开启哪个端口,照写就行了.
上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP
允许icmp包通过,也就是允许ping,
[root@stations65 ~]# iptables -A OUTPUT -p icmp -j ACCEPT
[root@stations65 ~]# iptables -A INPUT -p icmp -j ACCEPT
只允许192.168.0.3的机器进行SSH连接
[root@stations65 ~]# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
开启转发功能,(在做NAT时,FORWARD默认规则是DROP时,做)
[root@stations65 ~]# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
[root@stations65 ~]# iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT
丢弃坏的TCP包
[root@stations65 ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
处理IP碎片数量,防止攻击,允许每秒100个
[root@stations65 ~]#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包.
[root@stations65 ~]#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
我在前面只允许ICMP包通过,就是我在这里有限制. 本文出自 “且听风吟” 博客,请务必保留此出处http://zhangjianjian.blog.51cto.com/2944771/651863
|