如何使用 IPTables 阻止 ping 请求?

如何使用 IPTables 阻止 ping 请求?

以及隐形特定端口?

答案1

要拒绝对 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       

答案2

我相信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

这将告诉内核不要响应任何 ping 响应,此后在 shell 上运行 sysctl -p 即可实施更改而无需重启。

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

答案4

丢弃 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

相关内容