Zwei Netzwerkschnittstellen, eine fällt zufällig aus

Zwei Netzwerkschnittstellen, eine fällt zufällig aus

Ich habe einen Desktop (mit dem Namen „D“) und einen Laptop („L“), die über Ethernet mit einem Router („Wormhole“) verbunden sind. Dieser Router dient nur dazu, diese beiden Computer zu verbinden. Zusätzlich habe ich woanders einen WLAN-Router („WiFi“), und beide Computer sind auch damit verbunden. Die Topologie erweitert sich von dort aus, aber die Details sind nicht wichtig. Die Wormhole-Verbindung dient dazu, die Datenübertragung zwischen diesen beiden Maschinen zu beschleunigen. (Hinweis: Ich wurde darüber informiert, dass ich das Wort „Router“ hier falsch verwende. Was ich meine, ist die Switch-Seite des Geräts, die zusammen als Router bezeichnet wird.)

WiFi verarbeitet 192.168.4.1/24 und externe Adressen; Wormhole verarbeitet nur 192.168.8.1/24. Außerdem verwendet WiFi DHCP, aber Wormholes Clients haben statische IPs. Ds Wormhole-Adresse ist 192.168.8.8 und L ist 192.168.8.6. Ds WiFi-Verbindung läuft wie erwartet über wlan0 und Wormhole über eth0.

Manchmal funktioniert das gutund der Verkehr zwischen 192.168.8.8 und 192.168.8.6 ist schnell. Aber scheinbar zufällig nach dem Booten von D,manchmal kann D das Wurmloch nicht erreichenbis wir beim nächsten Neustart wieder würfeln. Als Workaround können D und L weiterhin problemlos über ihre WLAN-Verbindungen kommunizieren.

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

Manchmal behebt ein Neustart von D das Problem, manchmal aber auch nicht. Ich bin sicher, dass das Problem nicht am Router oder am Kabel liegt, da ich D gegen andere Systeme austauschen kann und alles wieder funktioniert. Bei L scheint es nie ein Problem zu geben.

Auf D läuft Ubuntu 21.10 (eigentlich Kubuntu). Anfangs vermutete ich, dass die Routen durch einen Race Condition während der Initialisierung oder so etwas beeinflusst wurden, aber eigentlich dachte ich das nur, weil ich mir nicht sicher war. Ich habe die Ausgabe von route, ip route, ip route show to match 192.168.8.1, ip a, und aufgezeichnet nmcli device show, sowohl wenn die Verbindung funktioniert als auch wenn sie nicht funktioniert. Die Ausgabe ist identisch, was ich schockierend finde und der Grund, warum ich diesen Appell schreibe. Die einzigen Teile, die sich unterscheiden, ip asind die, die man erwarten würde, wie die DHCPv6-Adresse und die LFT-Statistiken von wlan0.

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

Ich habe versucht, mit Netplan und /etc/network/interfaces herumzuspielen, aber ich tappe im Dunkeln. Das letzte Mal, als ich ein Netzwerk unter Linux eingerichtet habe, war, bevor systemd die Kontrolle übernahm, und die Konfiguration war damals ganz anders. Nicht, dass ich überhaupt viel über Netzwerk-Fehlerbehebung wüsste. Irgendwelche Ideen?

verwandte Informationen