Примечание: все следующие шаги будут выполняться в терминале/командной строке.
1.1 Добавьте следующую строку в «/etc/sysctl.conf» (чтобы включить, измените 1 на 0)
net.ipv4.icmp_echo_ignore_all = 1
Мы можем использовать следующую команду для достижения этого
sudo bash -c 'echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
1.2 Применить изменение
sudo sysctl -p
2.1 Выполните следующую команду, чтобы временно отключить ответ ping (чтобы включить, измените 1 на 0)
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
2.2 Применить изменение
sudo sysctl -p
3.1 Выполните следующую команду, чтобы заблокировать/сбросить ping-трафик
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
Примечание. Хотя правила iptables будут действовать после перезагрузки в CentOS и RHEL, они не будут действовать после перезагрузки в Debian/Ubuntu/Kali Linux и т. д..
4.1 Выполните следующую команду, чтобы включить/разрешить ping-трафик
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Примечание. Как и в разделе 3, правила firewall/iptables будут действовать после перезагрузки в CentOS и RHEL, они не будут действовать после перезагрузки в Debian/Ubuntu/Kali Linux и т. д.
Еще один способ легко разрешить ответ ping — просто временно отключить iptables/firewall.
sudo systemctl stop iptables
или
sudo systemctl stop ufw