Wget và curl có thể hoạt động bình thường, nhưng ping thất bại


7

Khi tôi ping www.google.com và 8.8.8.8, tôi không nhận được trả lời:

# 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

Không có phản hồi. Nhưng, cả curl và wget đều ổn. Hệ điều hành của tôi là CentOS 7.

Đây là tập tin cấu hình mạng của tôi:

# 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

Đây là thông tin về ip và lộ trình:

# 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

đầu ra không có gì.

Tôi thấy, không thể kết nối với Google vì tường lửa: GFW.

đầu ra theo dõi:

# 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  * * *

theo dõi với đầu ra 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

Nhưng, ping www.vim.org cũng không có phản hồi.

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

Cảm ơn vì bất cứ lời khuyên nào.


3
Đây là sự cố tường lửa chặn ICMP, hoặc xóa iptables của bạn ( iptables - Fv.v.) hoặc liên hệ với quản trị mạng.
Torxed

@Pandya, mèo /etc/sysctl.conf | grep echo không có gì
sis

@ Torxed, tôi dừng tường lửa, vấn đề vẫn còn
sis

thử: traceroute -T www.google.com
Ijaz Ahmad Khan

@sis: Vì chúng tôi không biết cấu trúc liên kết mạng của bạn trông như thế nào. Tôi đoán bạn đang chạy một thứ VirtualBox / VMware? Nếu không, xin vui lòng cho chúng tôi manh mối về thiết lập mạng của bạn trông như thế nào và ai sở hữu 192.168.42.129?
Torxed

Câu trả lời:


5

Ping sử dụng giao thức ICMP và lưu lượng ICMP có thể bị chặn trên mạng của bạn. Hãy thử tracepath và traceroute bằng tcp / udp.

Tracroute sử dụng tcp:

    traceroute -T www.google.com

nên làm việc.

Đồng thời kiểm tra xem tường lửa của bạn có chặn ICMP không.

   #service iptables stop

HOẶC LÀ.

  #systemctl stop firewalld.service

và sau đó thử lại bằng ping

Nếu sự cố vẫn còn thì lưu lượng ICMP bị chặn ở cấp mạng của bạn và hỏi quản trị viên mạng của bạn.

Một số khắc phục sự cố với ICMP trên hệ thống cục bộ:

Để kiểm tra xem ICMP đã được bật hay tắt, hãy chạy lệnh:

 cat /proc/sys/net/ipv4/icmp_echo_ignore_all

Đầu ra là 0 hoặc 1:

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

Nếu nó bị vô hiệu hóa và bạn muốn kích hoạt nó:

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

Nhưng bạn kiểm tra xem bạn đã kết nối với internet ngay cả khi ICMP bị chặn bằng cách sử dụng:

   nc -vz google.com 80

@ljaz Khan, hơn bạn cho lời khuyên. Tôi đã dừng tường lửa (tường lửa và iptables, nhưng vấn đề vẫn còn đó.
sis

Bạn đã thử lệnh traceroute như trên? tôi muốn xem đầu ra của lệnh đó
Ijaz Ahmad Khan

Trả lời cập nhật, thử lại lần nữa
Ijaz Ahmad Khan

@sis Tường lửa không phải ở trên máy chủ của bạn; nó có thể là nhà cung cấp, bộ định tuyến của bạn hoặc một số thực thể bên ngoài khác.
Jenny D

Nhiều tường lửa của công ty chặn ICMP - giao thức được sử dụng bởi tiện ích ping.
Ijaz Ahmad Khan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.