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 .

コンピューターからSBCにpingを送信できます

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 は点滅していませんが、オレンジ色は点滅しています。これは何を意味するのでしょうか? 緑はリンクが成功していることを意味すると読みました。つまり、ボードにはリンクがありません。しかし、スイッチがリンクが成功していることを示しているのはなぜですか? また、ping が機能するのはなぜですか?

答え1

Windows にはデフォルトでファイアウォールが付属しており、ping 要求も含め、ほぼすべての受信をブロックします。

Windows で実行しwf.msc、「受信」を開いて、組み込みの「ICMP エコー」および「ICMPv6 エコー」ルールを有効にします。これらは、Windows 11 では「コア ネットワーク診断」の下に、Windows 10 では「ファイル共有」の下にあります (後者は、デフォルトで同じサブネットのみに制限されます)。

また、特定のサブネット上のすべてのデバイスでネットマスクを同一に保つようにしてください。現在、SBCは を使用しています255.255.0.0が、PCは255.255.255.0169.254.234.200アドレスを使用するように設定されています。この場合、まだ問題が発生します (SBC と PC の両方のアドレスが 2 つのネットマスクのうち狭い方の範囲内にあるため)。これは依然として誤った構成としてカウントされます。

したがって、PC の 169.254.234.200 アドレスは、理想的には 255.255.0.0 ネットマスクを使用するように変更する必要があります。(PC の他の IP アドレスは、現在のネットマスクを引き続き使用できます。)


Pingは、2つのこと(リクエストと応答)を1つの合格/不合格に組み合わせる双方向チェックです。失敗した場合、次のステップはそれらのことをチェックすることです。別々に、つまり、応答に依存せずに、コンピューターが SBC の ping 要求を受信して​​いるかどうかを確認したいのです。

そのために、パケット キャプチャ ツールが使用されます (通常、Windows/Linux GUI の場合は Wireshark、CLI の場合は tcpdump)。コンピューターが応答しない場合でも、コンピューターに要求が到着しているのを確認できれば、SBC のネットワーク構成が正しい (または少なくとも半分は正しい) ことがわかり、応答しないことを選択したのがコンピューターであることがわかります (または、間違ったネットマスクを指定したためにコンピューターが別のインターフェイスを通じて応答したことがわかる場合もあります)。

SBCの緑のLEDは点滅していませんが、オレンジ色は点滅しています。これは何を意味しますか?緑はリンクが成功していることを意味すると読んだので、ボードにはリンクがありません

イーサネット LED インジケーターには標準の配色がありません。つまり、あるデバイスのネットワーク LED について読んだ内容が、必ずしも別のデバイスにも当てはまるとは限りません。

たとえば、SBC が「オレンジ = 100 Mbps」と「緑 = 1 Gbps」を使用している場合、どちらの色もリンクが成功していることを示しますが、ビットレートが異なります。(反対に、オレンジの方が速度が速いことを示す場合もあります。)

関連情報