web-dev-qa-db-ja.com

Wgetとcurlは正常に動作しますが、pingは失敗します

Www.google.comおよび8.8.8.8にpingを実行しても、応答がありません。

# ping www.google.com
PING www.google.com (216.58.221.228) 56(84) bytes of data.
( no response)

# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
( no response)

20 packets transmitted, 0 received, 100% packet loss, time 19006ms

応答はありません。ただし、curlとwgetのどちらも問題ありません。私のOSはCentOS 7です。

これが私のネットワーク設定ファイルです:

# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
#BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
#IPV4_FAILURE_FATAL=no
IPADDR=192.168.42.12
NETMASK=255.255.255.0
GATEWAY=192.168.42.129
DNS1=192.168.42.129
DNS2=114.114.114.114
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=ens33
UUID=e7328f29-6313-4382-8023-b7740ed4f7ad
ONBOOT=yes

ここにIPとルート情報があります:

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope Host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope Host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:4d:df:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.42.12/24 brd 192.168.42.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe4d:dfbf/64 scope link 
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none 
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0
       valid_lft forever preferred_lft forever
# ip route
default via 192.168.42.129 dev ens33  proto static  metric 100 
10.8.0.0/24 via 10.8.0.2 dev tun0 
10.8.0.2 dev tun0  proto kernel  scope link  src 10.8.0.1 
192.168.42.0/24 dev ens33  proto kernel  scope link  src 192.168.42.12  metric 100 
cat /etc/sysctl.conf | grep echo

何も出力しません。

ファイアウォール:GFWが原因で、Googleに接続できません。

tracerouteの出力:

# traceroute -T www.google.com
traceroute to www.google.com (216.58.197.100), 30 Hops max, 60 byte packets
 1  gateway (192.168.42.129)  0.541 ms  0.378 ms  0.294 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

www.vim.org出力のtraceroute:

     # traceroute -T www.vim.org
traceroute to www.vim.org (216.34.181.97), 30 Hops max, 60 byte packets
 1  gateway (192.168.42.129)  0.447 ms  0.419 ms  0.287 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  vhost.sourceforge.net (216.34.181.97)  229.060 ms  214.904 ms  220.727 ms

ただし、ping www.vim.orgにも応答がありません。

# ping www.vim.org
PING vhost.sourceforge.net (216.34.181.97) 56(84) bytes of data.
(no response)

アドバイスありがとうございます。

7
sis

PingはICMPプロトコルを使用し、ICMPトラフィックがネットワークでブロックされる場合があります。 tcp/udpを使用してtracepathとtracerouteを試してください。

Tcpを使用したTracroute:

    traceroute -T www.google.com

うまくいくはずです。

ファイアウォールがICMPをブロックしているかどうかも確認してください。

   #service iptables stop

または。

  #systemctl stop firewalld.service

その後、pingを使用して再試行します

それでも問題が解決しない場合は、ネットワークレベルでICMPトラフィックがブロックされており、ネットワーク管理者に問い合わせてください。

ローカルシステムでICMPを使用したトラブルシューティング:

ICMPが有効か無効かを確認するには、次のコマンドを実行します。

 cat /proc/sys/net/ipv4/icmp_echo_ignore_all

出力は0または1です。

0 means that ICMP is enabled
1 means that ICMP is disabled

無効になっていて、有効にしたい場合:

change 1 to 0 in the above file

Or run the command:

iptables  -I  INPUT  -i  ech0  -p   icmp  -s  0/0  -d  0/0   -j  ACCEPT

ただし、以下を使用してICMPがブロックされている場合でも、インターネットに接続していることを確認します。

   nc -vz google.com 80
5
Ijaz Ahmad Khan