Linux 裝置在網路期間無法存取 (ping)

Linux 裝置在網路期間無法存取 (ping)

我使用 Windows PC、交換器和 Linux SBC(不是 Raspberry)進行了設置,並嘗試透過交換器將 SBC 與我的電腦連接,以便為 SBC 提供互聯網和 SSH。

SBC 輸出下列 IP 位址

root@imx6qpdlsolox:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.234.40  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 fe80::204:9fff:fe06:3984  prefixlen 64  scopeid 0x20<link>
        ether 00:04:9f:06:39:84  txqueuelen 1000  (Ethernet)
        RX packets 364  bytes 45484 (44.4 KiB)
        RX errors 0  dropped 166  overruns 0  frame 0
        TX packets 140  bytes 35993 (35.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 446  bytes 29426 (28.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 446  bytes 29426 (28.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我的電腦輸出如下

Ethernet-Adapter Ethernet:

   Verbindungsspezifisches DNS-Suffix:
   Verbindungslokale IPv6-Adresse  . : fe80::4ece:1a02:7677:2d01%22
   IPv4-Adresse  . . . . . . . . . . : 192.168.0.200
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   IPv4-Adresse  . . . . . . . . . . : 192.254.79.200
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   IPv4-Adresse  . . . . . . . . . . : 169.254.234.200
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway .

我可以從我的計算機 ping SBC

Ping wird ausgeführt für 169.254.234.40 mit 32 Bytes Daten:
Antwort von 169.254.234.40: Bytes=32 Zeit<1ms TTL=64
Antwort von 169.254.234.40: Bytes=32 Zeit<1ms TTL=64
Antwort von 169.254.234.40: Bytes=32 Zeit<1ms TTL=64
Antwort von 169.254.234.40: Bytes=32 Zeit<1ms TTL=64

Ping-Statistik für 169.254.234.40:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

但不是我的 SBC 計算機

root@imx6qpdlsolox:~# ping 169.254.234.200
PING 169.254.234.200 (169.254.234.200) 56(84) bytes of data.

兩個設備都透過交換器連接。開關確認並且 LED 閃爍。 SBC 上的綠色 LED 不閃爍,但橘色 LED 閃爍。這是什麼意思?我讀到綠色表示連結成功,因此該板上沒有連結。但是為什麼交換機會顯示成功的連結以及為什麼 ping 有效?

答案1

預設情況下,Windows 附帶防火牆,可以阻止幾乎所有入站行為,甚至包括 ping 請求。

在Windows上運行wf.msc,開啟“傳入”,並啟用內建的“ICMP Echo”和“ICMPv6 Echo”規則。它們將位於 Windows 11 中的「核心網路診斷」下,或 Windows 10 中的「檔案共用」下(後者預設也將它們限制為僅相同子網路)。

另外,請嘗試使給定子網路上的所有裝置的網路遮罩保持相同。目前您的 SBC 使用255.255.0.0,但 PC 配置為使用255.255.255.0其 169.254.234.200 位址。雖然在這種情況下它不是然而造成問題(因為 SBC 和 PC 的位址仍然在兩個網路遮罩中較窄的一個範圍內),但它仍然很可能被視為配置錯誤。

因此,理想情況下應將 PC 的 169.254.234.200 位址變更為使用 255.255.0.0 網路遮罩。 (PC 的其他 IP 位址可以繼續使用其目前的網路遮罩。)


Ping 是一種雙向檢查,它將兩個事物(請求和回應)組合為一次通過/失敗。如果失敗,下一步就是檢查這些事情分別地,即您想找出電腦是否正在接收 SBC 的 ping 請求,而不依賴回覆。

為此,請使用封包擷取工具(通常是用於 Windows/Linux GUI 的 Wireshark 或用於 CLI 的 tcpdump)—即使電腦沒有回應,能夠看到到達電腦的請求將告訴您 SBC 的網路設定正確(或至少一半正確),因此是電腦選擇不回覆。 (或者它可能會告訴您電腦透過不同的介面進行回复,因為您指定了錯誤的網路遮罩...)

SBC 上的綠色 LED 不閃爍,但橘色 LED 閃爍。這是什麼意思?我讀到綠色表示鏈接成功,所以板上沒有鏈接

乙太網路 LED 指示燈沒有標準的配色;您在一台裝置上讀到的網路 LED 的資訊不一定適用於另一台裝置。

例如,SBC 可能使用“橙色 = 100 Mbps”和“綠色 = 1 Gbps”,其中任何一種顏色都表示連結成功,但位元率不同。 (我也看到了相反的情況,橙色表示速度更快。)

相關內容