Networking

DNS 可以解析 IP,但我無法 Ping

  • January 20, 2018

我有一個 imx7dsabresd 板,我正在嘗試編寫一個腳本,該腳本將每 30 秒從我的伺服器 (wget) 下載一次圖像。

wget 的輸出是 wget: error getting response: Connection reset by peer

如果我嘗試 ping 一個地址,例如ping www.google.com我不會收到任何數據包:

PING www.google.com (216.58.204.68): 56 data bytes
--- www.google.com ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

但它已將域名解析為 IP 地址。

認為我已經嘗試過:-我另一篇文章中嘗試過,但對我沒有任何影響。

編輯:

添加跟踪路由

traceroute to google.com (172.217.23.14), 30 hops max, 38 byte packets
1  192.168.7.2 (192.168.7.2)  2999.477 ms !H  2995.963 ms !H  3000.029 ms !H

如果配置

   eth0      Link encap:Ethernet  HWaddr 1A:E9:81:4E:A3:F6
         UP BROADCAST MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:65536  Metric:1
         RX packets:16 errors:0 dropped:0 overruns:0 frame:0
         TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:1228 (1.1 KiB)  TX bytes:1228 (1.1 KiB)

usb0      Link encap:Ethernet  HWaddr BA:ED:BE:95:F7:54
         inet addr:192.168.7.2  Bcast:192.168.7.255  Mask:255.255.255.0
         UP BROADCAST MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr E0:76:D0:C3:5D:0D
         inet addr:192.168.59.87  Bcast:192.168.59.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:3965 errors:0 dropped:583 overruns:0 frame:0
         TX packets:554 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:576828 (563.3 KiB)  TX bytes:104215 (101.7 KiB)

路線-n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.7.1     0.0.0.0         UG    0      0        0 usb0
0.0.0.0         192.168.59.1    0.0.0.0         UG    10     0        0 wlan0
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 usb0
192.168.59.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0

ip 路由 -sh

default via 192.168.7.1 dev usb0
default via 192.168.59.1 dev wlan0  metric 10
192.168.7.0/24 dev usb0  proto kernel  scope link  src 192.168.7.2
192.168.59.0/24 dev wlan0  proto kernel  scope link  src 192.168.59.87

看起來與兩個設備的路由發生衝突。也許 wlan0 用​​於解析但不用作網關。

  1. 使用 ifdown 刪除設備 usb0 或 wlan0 並檢查它是否工作得更好:sudo ifdown usb0
  2. 發佈內容/etc/resolv.conf

如果您還需要通過 usb0 介面訪問系統,請跳過上述部分,只需刪除一個預設網關:

route del default gw 192.168.7.1

Ping 使用ICMP可能會在您的機器或路由器上被阻止。如果它被阻止,您將不會得到任何響應。對 google.com 執行 traceroute 或 MTR 並檢查發生了什麼。

引用自:https://unix.stackexchange.com/questions/418192