Otázka :Můžeme ssh do nově vytvořeného stroje CentOS/RHEL 8, ale ping nefunguje, ani samo ping. Firewall a služby Selinux jsou zakázány. Jak problém vyřešit?
1. Nejprve zkontrolujte obsah dynamického souboru /proc/sys/ipv4/icmp_echo_ignore . Pokud je tato hodnota nastavena na 1, jinými slovy zapnuto nebo true, jádro se rozhodne zcela ignorovat všechny požadavky ICMP echo. Tato proměnná má booleovskou hodnotu a je standardně nastavena na false nebo off.
# cat /proc/sys/ipv4/icmp_echo_ignore 1
2. Totéž můžete potvrdit pomocí příkazů „netstat -s“ a „sysctl -a“:
# netstat -s ... Icmp: 2371 ICMP messages received 0 input ICMP message failed ICMP input histogram: echo requests: 2339 timestamp request: 32 40 ICMP messages sent 0 ICMP messages failed ICMP output histogram: echo requests: 8 timestamp replies: 32 IcmpMsg: InType8: 2339 InType13: 32 OutType8: 8 OutType14: 32
# sysctl -a | grep icmp_echo_ignore_all net.ipv4.icmp_echo_ignore_all = 1
3. Upravte následující řádek v /etc/sysctl.conf jak je uvedeno níže:
# vi /etc/sysctl.conf net.ipv4.icmp_echo_ignore_all = 0
nebo pro dočasné provedení změn použijte níže uvedený příkaz:
# echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
4. Aby byl trvalý po restartu:
# sysctl -p
Poté můžete otestovat ping lokálně nebo z jiného počítače:
$ ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.023 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.036 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.035 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.037 ms 64 bytes from 127.0.0.1: icmp_seq=5 ttl=64 time=0.029 ms 64 bytes from 127.0.0.1: icmp_seq=6 ttl=64 time=0.033 ms 64 bytes from 127.0.0.1: icmp_seq=7 ttl=64 time=0.035 ms 64 bytes from 127.0.0.1: icmp_seq=8 ttl=64 time=0.030 ms ^C --- 127.0.0.1 ping statistics --- 8 packets transmitted, 8 received, 0% packet loss, time 7000ms rtt min/avg/max/mdev = 0.023/0.032/0.037/0.006 ms