如何在 Linux 中一直禁用 Ping 响应(ICMP 回显)?

Har*_*rHD 13 ping icmp

我想在我的 Ubuntu 操作系统上一直禁用 ping 响应,以下命令有效,但仅在系统重新启动之前:

关闭:

echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
Run Code Online (Sandbox Code Playgroud)

平安:

echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
Run Code Online (Sandbox Code Playgroud)

即使在重新启动笔记本电脑后,我如何才能关闭回声?

GAD*_*D3R 20

即使我重新启动笔记本电脑,我如何才能关闭回声?

您可以使用以下三种方式之一(以 root 身份):

编辑 /etc/sysctl.conf

将以下行添加到您的/etc/sysctl.conf

net.ipv4.icmp_echo_ignore_all=1
Run Code Online (Sandbox Code Playgroud)

然后:

sysctl -p
Run Code Online (Sandbox Code Playgroud)

使用 iptables:

iptables -I INPUT -p icmp --icmp-type echo-request -j DROP
Run Code Online (Sandbox Code Playgroud)

使用定时任务

crontab -e以 root 身份运行,然后添加以下行:

@reboot echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
Run Code Online (Sandbox Code Playgroud)

启动并启用服务:

systemctl start cron.service
systemctl enable cron.service
Run Code Online (Sandbox Code Playgroud)