質問 :新しく構築された CentOS/RHEL 8 マシンに SSH で接続できますが、ping が機能せず、セルフ ping も機能しません。 Firewalld および Selinux サービスが無効になっています。問題の解決方法
1. まず、動的ファイル /proc/sys/ipv4/icmp_echo_ignore の内容を確認します .この値が 1、つまり on または true に設定されている場合、カーネルはすべての ICMP エコー要求を完全に無視することを選択します。この変数はブール値を取り、デフォルトでは false またはオフに設定されています。
# cat /proc/sys/ipv4/icmp_echo_ignore 1
2. 「netstat -s」および「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. /etc/sysctl.conf で次の行を編集します。 以下に示すように:
# vi /etc/sysctl.conf net.ipv4.icmp_echo_ignore_all = 0
または、一時的に変更するには、以下のコマンドを使用します:
# echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
4. 再起動後も永続化するには:
# sysctl -p
次に、ローカルまたは別のマシンから ping をテストできます。
$ 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