CentOS中Iptables关于ping的配置问题

环境说明:
         OS:CentOS 2.6.18-308.16.1.el5
         Iptables:iptables v1.3.5

 

刚学习linux的iptables配置,首先想从ping的简单控制入手,虽然简单,但是还是遇到了几个问题。
首先,清空了所有的规则,并将filter的规则缺省为drop

iptables –P INPUT DROP
iptables –P OUTPUT DROP
iptables –P FORWARD DROP

这时候ping操作的时候会出现:


开始设置运行ping操作的规则

iptables –A INPUT –p icmp –icmp-type echo-reply –j ACCEPT
iptables –A OUTPUT –p icmp –icmp-type echo-request –j ACCEPT

这个时候,ping的关键规则就设置好了。测试一下:

ping 202.204.80.166


但是我就在这个这里遇到了问题,我测试的方法是ping 127.0.0.1 ,但是总是不通。我就以为是规则设置不正确,但是一直找不出原因。


后来才发现原来是这个IP地址太特殊了。如果想ping通这个地址,还需要设置其他规则,允许本地回环接口(loopback)通过防火墙,设置如下:

iptables –A INPUT –i lo –p all –j ACCEPT
iptables –A OUTPUT –o lo –p all –j ACCEPT

这时候再进行ping 127.0.0.1操作时就可以通过了。


但是设置到这里直接ping IP地址是可以的,但是如果ping 域名的话就会出现错误。


原因是我们已经把操作系统在进行DNS解析时传送的数据包给DROP了,所以必须设置规则,允许系统域名解析,进行如下操作:

iptables –A INPUT –p udp –sport 53 –j ACCEPT
iptables –A OUTPUT –p udp –dport 53 –j ACCEPT

这样设置之后就可以使用ping域名操作了。


最后还需要保存上边设置的规则

service iptables save

我的iptables的配置文件如下。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值