如何配置机器以响应或不响应 ping 请求?

Jon*_*ebo 6 network-manager networking ping

如何管理我的 Ubuntu 机器,使其不(或确实)响应PING(ICMP ECHO_REQUEST - 类型 8)请求?

通常,LAN 网络中的几乎所有计算机都以 ICMP ECHO_REPLY 响应 ping,但是如何将其关闭?

如何管理?如何管理其他类型的ICMP请求?

小智 4

另一个选项(不使用防火墙)是设置 Linux 内核选项。

由于在 Linux 中大多数内容都是作为文件访问的,因此内核设置被映射到特殊的/proc文件系统中

echo 1 | sudo tee /proc/sys/net/ipv4/icmp_echo_ignore_all
Run Code Online (Sandbox Code Playgroud)

您还可以通过设置文件中的值来使其永久化/etc/sysctl.conf

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

然后执行带有-p标志的 sysctl 来激活

sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)


Ach*_*chu 3

您可以通过两种方法实现此目的:使用ufwiptables

使用UFW

您需要添加:

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Run Code Online (Sandbox Code Playgroud)

到:

/etc/ufw/before.rules
Run Code Online (Sandbox Code Playgroud)

然后运行:

sudo ufw disable
sudo ufw enable
Run Code Online (Sandbox Code Playgroud)

使用iptables

添加以下规则:

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
Run Code Online (Sandbox Code Playgroud)

  • “如何配置一台机器来响应或不响应 ping 请求?”您解释了哪一个? (3认同)