如何使用IPTable阻止ping请求?


Answers:


11

拒绝对ping请求的响应。添加以下iptable规则

iptables -A OUTPUT -p icmp -o eth0 -j ACCEPT          
iptables -A INPUT -p icmp --icmp-type echo-reply -s 0/0 -i eth0 -j ACCEPT     
iptables -A INPUT -p icmp --icmp-type destination-unreachable -s 0/0 -i eth0 -j ACCEPT  
iptables -A INPUT -p icmp --icmp-type time-exceeded -s 0/0 -i eth0 -j ACCEPT       
iptables -A INPUT -p icmp -i eth0 -j DROP       

规则有问题,或者我没有依赖关系,我将eth0更改为wlan0,就像我现在在笔记本电脑上一样,并收到错误消息“ sudo iptables -A INPUT -p icmp –icmp-type destination-unreachable” -s 0/0 -i wlan0 -j ACCEPT错误的参数–icmp-type'" and "sudo iptables -A INPUT -p icmp -i wlan0-j DROP Bad argument DROP'“
david25年

@ david25请参阅我的最新答案。
karthick87

8

我相信iptables -I INPUT -p icmp --icmp-type 8 -j DROP应该可以解决。

对于IPv6,您需要类似的东西ip6tables -I INPUT -p icmpv6 --icmp-type 8 -j DROP


3

禁用ping响应的最简单方法是在/etc/sysctl.conf文件中添加一个条目。如果Iptables刷新或停止,服务器将再次开始响应ping响应。我建议在/etc/sysctl.conf文件中输入以下内容

net.ipv4.icmp_echo_ignore_all = 1

在shell上运行sysctl -p以实现更改而无需重新引导后,这将告诉内核不响应任何ping响应。

有关更多信息,请参考:http : //www.trickylinux.net/disable-ping-response-linux/


这可能是我过去发现的最好方法。它具有持久的优点。
Aedazan

0

删除ICMP回显请求(“ Ping”):

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

隐身是什么意思?您可以只丢弃所有传入的数据包。Google提供了以下功能:

iptables -A INPUT -p tcp -m stealth -j REJECT

但是在(我的)Ubuntu机器上,iptables不知道“隐身”匹配。看起来,您可以使用xtables做很多有趣的事情:

aptitude show xtables-addons-common
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.