当我 ping www.google.com 和 8.8.8.8 时,没有得到回复:
# 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 都可以。我的操作系统是 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 -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 -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)
感谢您的任何建议。
答案1
ping 使用 ICMP 协议,ICMP 流量可能会在您的网络上被阻止。尝试使用 tcp/udp 进行跟踪路径和跟踪路由。
使用 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