歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS中Iptables關於ping的配置問題

CentOS中Iptables關於ping的配置問題

日期:2017/2/28 14:56:28   编辑:Linux教程

環境說明:

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的配置文件如下。

Copyright © Linux教程網 All Rights Reserved