Устройство Linux недоступно во время сетевого соединения (ping)

Устройство Linux недоступно во время сетевого соединения (ping)

У меня есть конфигурация с моим ПК с Windows, коммутатором и Linux SBC (не Raspberry), и я пытаюсь подключить SBC к своему компьютеру через коммутатор, чтобы обеспечить доступ в Интернет и SSH к SBC.

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 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.

Оба устройства подключены через коммутатор. Коммутатор подтверждает это, и светодиоды мигают. Зеленый светодиод на SBC не мигает, а оранжевый мигает. Что это значит? Я читал, что зеленый означает успешное соединение, поэтому на плате нет соединения. Но почему тогда коммутатор показывает успешное соединение и почему пинг работает?

решение1

По умолчанию в Windows установлен брандмауэр, который блокирует практически все входящие данные, включая даже запросы ping.

Запустите wf.mscWindows, откройте «Входящие» и включите встроенные правила «ICMP Echo» и «ICMPv6 Echo». Они будут в разделе «Диагностика основной сети» в Windows 11 или в разделе «Общий доступ к файлам» в Windows 10 (последний также ограничивает их только одной подсетью по умолчанию).

Также постарайтесь сохранить ваши маски подсети идентичными для всех устройств в данной подсети. В настоящее время ваш SBC использует 255.255.0.0, но ПК настроен на использование 255.255.255.0для своего адреса 169.254.234.200. Хотя в этом случае это неещевызывая проблемы (поскольку адреса и SBC, и ПК по-прежнему находятся в пределах более узкой из двух сетевых масок), это все равно можно считать неправильной настройкой.

Поэтому в идеале адрес ПК 169.254.234.200 следует изменить на использование маски сети 255.255.0.0. (Другие IP-адреса ПК могут продолжать использовать свои текущие маски сети.)


Ping — это двунаправленная проверка, которая объединяет две вещи (запрос и ответ) в один проход/неудача. Если он не проходит, следующим шагом будет проверка этих вещейв отдельности,т.е. вы хотите узнать, получает ли компьютер запрос SBC ping, не полагаясь на ответ.

Для этого используются инструменты захвата пакетов (обычно Wireshark для Windows/Linux GUI или tcpdump для CLI) — даже если компьютер не отвечает, возможность увидеть, как запрос поступает на компьютер, скажет вам, что сетевая конфигурация SBC верна (или, по крайней мере, наполовину верна), и, следовательно, это компьютер решил не отвечать. (Или он может сказать вам, что компьютер отвечает через другой интерфейс, потому что вы указали неправильную маску сети...)

Зеленый светодиод на SBC не мигает, а оранжевый мигает. Что это значит? Я читал, что зеленый означает успешную связь, поэтому на плате связи нет

Светодиодные индикаторы Ethernet не имеют стандартной цветовой схемы; то, что вы читали о сетевых светодиодах на одном устройстве, не обязательно будет верно для другого.

Например, может быть, что SBC использует «оранжевый = 100 Мбит/с» и «зеленый = 1 Гбит/с», где любой из цветов указывает на успешное соединение, но на разных скоростях передачи данных. (Я также видел обратное, когда оранжевый цвет указывал на более высокую скорость.)

Связанный контент