天天看點

通過 iptables 禁止 ping

ping 實作原理是使用 ICMP 協定,主機發送 echo- request 包,遠端伺服器收到以後,回複 echo-reply 包。

有時候為了安全需要隐藏主機,使其不對ICMP 的回應要求進行相應,即使主機不被ping 通。

使主機不被 ping

方法1 直接拒絕icmp 的請求包

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
           

這時候嘗試ping這台主機的話會出現

Reply from 192.168.50.131: Destination port unreachable.
           

方法2 直接丢棄 icmp 的請求包

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
           

這時候嘗試ping這台主機的話會出現

Request timed out.
           

禁止主機的ping功能

直接丢棄向外發送的ICMP包

sudo iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
           

此時使用 ping 指令,輸出如下:

$ ping 192.168.50.129
PING 192.168.50.129 (192.168.50.129) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
           

繼續閱讀