我使用 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”,其中任何一種顏色都表示連結成功,但位元率不同。 (我也看到了相反的情況,橙色表示速度更快。)