如何在防火墙中放开ping
操作时需要注意的几项:
1,注意iptables各版本间的区别
我们的server os最旧的版本是redhat 7.3 kernel是2.4.20-18.7
最新的server os最新的版本是centos 5, kernel是2.6.18-8
差距很大
iptables以模块形式运行在内核的空间,用lsmod可以看到
所以它与内核的版本息息相关
如何查看iptables各版本间命令的区别?
以icmp协议为例: iptables -p icmp -h
我在redhat 7.3的iptables中添加了这条规则导致防火墙把我们关在了门外
-A INPUT -p icmp --icmp-type any -j ACCEPT
为什么会出错呢?是因为any这个值在2.6的核心以后才出现 (对应iptables自身的版本是1.3.5)
正确的写法是:
2,修改iptables时出错怎么办?
真的被关在门外的时候,很麻烦,应该如何处理?
1,重启机器(这不是一个好办法)
2,<>一书中讲到的办法:事先把这条命令加到crond中(当然要保证crond的状态是running)
*/3 * * * * /etc/rc.d/init.d/iptables stop
备注:这个方法会让你即使被关在门外的话,3分钟后仍然可以进入
当然测试完成后需及时注释掉此命令,一定不能忘记
3,保证自己所写的iptables规则是向下兼容的 那就要更小心