Два сетевых интерфейса, один из которых время от времени выходит из строя

Два сетевых интерфейса, один из которых время от времени выходит из строя

У меня есть настольный компьютер (с именем «D») и ноутбук («L»), подключенные по Ethernet к маршрутизатору («Wormhole»). Этот маршрутизатор служит только для соединения этих двух компьютеров. Кроме того, у меня есть маршрутизатор Wi-Fi («WiFi») в другом месте, и оба компьютера также подключаются к нему. Топология расширяется оттуда, но детали не важны. Соединение Wormhole существует для ускорения передачи данных между этими двумя машинами. (Примечание: мне сообщили, что я неправильно использую здесь слово «маршрутизатор». Я имею в виду коммутационную сторону устройства, которая в совокупности называется маршрутизатором.)

WiFi обрабатывает 192.168.4.1/24 и внешние адреса; Wormhole обрабатывает только 192.168.8.1/24. Кроме того, WiFi использует DHCP, но клиенты Wormhole имеют статические IP-адреса. Адрес Wormhole D — 192.168.8.8, а L — 192.168.8.6. Подключение Wi-Fi D осуществляется через wlan0, а Wormhole — через eth0, как и ожидалось.

Иногда это работает нормально.и трафик между 192.168.8.8 и 192.168.8.6 быстрый. Но, по-видимому, случайно после загрузки D,иногда D не может достичь Wormholeпока мы не бросим кости снова при следующей перезагрузке. В качестве обходного пути D и L могут по-прежнему разговаривать без проблем через свои соединения WiFi.

ping -c4 192.168.8.1:

PING 192.168.8.1 (192.168.8.1) 56(84) bytes of data.
From 192.168.8.8 icmp_seq=1 Destination Host Unreachable
From 192.168.8.8 icmp_seq=2 Destination Host Unreachable
From 192.168.8.8 icmp_seq=3 Destination Host Unreachable
From 192.168.8.8 icmp_seq=4 Destination Host Unreachable

--- 192.168.8.1 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3035ms

Иногда перезагрузка D устраняет эту проблему, но иногда нет. Я уверен, что проблема не в маршрутизаторе или кабеле, так как я могу заменить D на другие системы, и все снова заработает. У L, похоже, никогда не возникает проблем.

D работает под управлением Ubuntu 21.10 (на самом деле, Kubuntu). Сначала я подозревал, что на маршруты влияет состояние гонки во время инициализации или что-то в этом роде, но на самом деле я так думал только потому, что не в своей тарелке. Я записал вывод route, ip route, ip route show to match 192.168.8.1, ip a, и nmcli device show, когда соединение работает и когда оно не работает. Вывод идентичен, что я нахожу шокирующим, и поэтому я пишу это заявление. Единственное, что отличается, ip aэто то, чего вы ожидаете, например, адрес DHCPv6 wlan0 и статистика LFT.

route:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         WiFi            0.0.0.0         UG    600    0        0 wlan0
link-local      0.0.0.0         255.255.0.0     U     1000   0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.4.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0
192.168.8.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.8.0     192.168.8.1     255.255.255.0   UG    100    0        0 eth0

ip route:

default via 192.168.4.1 dev wlan0 proto dhcp metric 600 
169.254.0.0/16 dev eth0 scope link metric 1000 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.4.0/24 dev wlan0 proto kernel scope link src 192.168.4.102 metric 600 
192.168.8.0/24 dev eth0 proto kernel scope link src 192.168.8.8 metric 100 
192.168.8.0/24 via 192.168.8.1 dev eth0 proto static metric 100 

ip route show to match 192.168.8.1:

default via 192.168.4.1 dev wlan0 proto dhcp metric 600 
192.168.8.0/24 dev eth0 proto kernel scope link src 192.168.8.8 metric 100 
192.168.8.0/24 via 192.168.8.1 dev eth0 proto static metric 100 

ip address show dev eth0:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether e0:3f:49:a5:03:d6 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
    inet 192.168.8.8/24 brd 192.168.8.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::3a41:15c1:b87a:5f63/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

nmcli device show eth0:

GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         E0:3F:49:A5:03:D6
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     Wired connection 1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.8.8/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.8.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.ROUTE[3]:                           dst = 192.168.8.0/24, nh = 192.168.8.1, mt = 100
IP6.ADDRESS[1]:                         fe80::3a41:15c1:b87a:5f63/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100

Я пробовал играть с netplan и /etc/network/interfaces, но я просто бью в темноте. Последний раз я настраивал сеть в Linux до того, как systemd взял верх, и тогда конфигурация была совсем другой. Не то чтобы я вообще много знал об устранении неполадок в сети. Есть идеи?

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