sysctl
临时或永久禁用 ICMP 回应sudo sysctl -w net.ipv4.icmp_echo_ignore_all=1
这会立即生效,但重启后失效。
echo "net.ipv4.icmp_echo_ignore_all=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p # 立即加载新配置
这样即使重启也会保持禁用 ping。
sudo sysctl -w net.ipv4.icmp_echo_ignore_all=0
或删除 /etc/sysctl.conf 中对应的行并重新加载配置。
firewalld
防火墙禁用 Ping(推荐)Anolis OS 默认使用 firewalld
管理防火墙规则。
Anolis OS 默认使用 firewalld 管理防火墙规则。
sudo firewall-cmd --query-icmp-block=echo-request
如果显示 no
,表示目前允许 ping。
sudo firewall-cmd --add-icmp-block=echo-request --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --query-icmp-block=echo-request # 应返回 yes
ping <服务器IP> # 应无响应,显示 "Request timed out" 或 "Destination Host Unreachable"
sudo firewall-cmd --remove-icmp-block=echo-request --permanent
sudo firewall-cmd --reload
firewalld
的方式,因为它更符合现代 Linux 防火墙管理规范。✔ 最终建议
firewalld
方式(--add-icmp-block=echo-request
)sysctl -w net.ipv4.icmp_echo_ignore_all=1