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
아직 응답이 없습니다. 그러나 컬과 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 출력:
# 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
그러나 www.vim.org에 ping을 실행해도 아무 일도 일어나지 않습니다.
# ping www.vim.org
PING vhost.sourceforge.net (216.34.181.97) 56(84) bytes of data.
(no response)
어떤 조언이라도 감사드립니다.
답변1
ping은 ICMP 프로토콜을 사용하므로 ICMP 트래픽이 네트워크에서 차단될 수 있습니다. Tracepath 및 Traceroute에 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