如何在 Linux 服务器上阻止 Ping(通过 Iptables 和内核)

- 阻止 PING 始终被认为是一种非常有用的方法,以防服务器受到使用 PING(洪水 ICMP)功能的 DDOS 攻击。
- PING (Packet InterNet Gopher)是一种计算机管理实用程序,用于测试服务器通过 Internet 协议 (IP) 的连接性,并测量数据包从主机发送到目标计算机并返回所需的时间。
1. iptables 选项
使用防火墙程序“iptables”来设置防火墙规则.需要注意它的以下一些选项。
- A : 在 iptables 规则表下面添加规则
- D : 删除规则
- P:指定协议(这里我们将使用协议“icmp”)
- ICMP-type:为 ICMP 协议指定的类型
- J : 指定到目标
2. 阻止 ping 到服务器并显示错误消息
可以使用“无法访问目标端口”错误消息阻止对 Linux 服务器的 PING。

测试:

3. 阻止 Ping 到服务器而不出现错误消息
使用DROP作为“跳转到目标”数据包处理操作的选项。

测试

ping 测试结果

4.允许从外部ping到内部,反之亦然
- 从外到内
#iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
#iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT

- 由内而外
#iptables -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT
#iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT

5. 从内核配置中阻止 ping
除了 使用 iptables允许/拒绝 PING之外 ,您还可以通过配置内核调整来阻止 PING ,如下所示:
- 拒绝 Ping
# echo> /proc/sys/net/ipv4/icmp_echo_ignore_all

- 对面允许 Ping
# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
