Dos interfaces de red, una falla aleatoriamente

Dos interfaces de red, una falla aleatoriamente

Tengo una computadora de escritorio (llamada "D") y una computadora portátil ("L") conectadas por Ethernet a un enrutador ("Wormhole"). Este router sólo sirve para conectar estos dos ordenadores. Además, tengo un enrutador wifi ("WiFi") en otro lugar y ambas computadoras también se conectan a él. La topología se expande a partir de ahí, pero los detalles no son importantes. La conexión Wormhole existe para acelerar las transferencias de datos entre estas dos máquinas. (Nota: me han informado que estoy usando la palabra "enrutador" incorrectamente aquí. Lo que quiero decir es el lado de conmutación del dispositivo que se denomina colectivamente enrutador).

WiFi maneja 192.168.4.1/24 y direcciones externas; Wormhole solo maneja 192.168.8.1/24. Además, WiFi usa DHCP, pero los clientes de Wormhole tienen IP estáticas. La dirección del agujero de gusano de D es 192.168.8.8 y L es 192.168.8.6. La conexión Wifi de D es a través de wlan0 y Wormhole a través de eth0 como era de esperar.

Algunas veces esto funciona bien.y el tráfico entre 192.168.8.8 y 192.168.8.6 es rápido. Pero, aparentemente al azar después de que D arranca,a veces D no puede llegar al agujero de gusanohasta que volvamos a tirar los dados en el siguiente reinicio. Como solución alternativa, D y L aún pueden hablar sin problemas a través de sus conexiones 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

A veces, reiniciar D soluciona este problema, pero otras no. Estoy seguro de que el problema no está en el enrutador ni en el cable, ya que puedo cambiar D por otros sistemas y todo vuelve a funcionar. Nunca parece tener un problema.

D ejecuta Ubuntu 21.10 (en realidad, Kubuntu). Inicialmente, sospeché que las rutas estaban siendo influenciadas por una condición de carrera durante la inicialización o algo así, pero en realidad solo pensé eso porque estoy fuera de mi alcance. He grabado la salida de route, ip route, ip route show to match 192.168.8.1, ip ay nmcli device show, todo cuando la conexión funciona y cuando no funciona. El resultado es idéntico, lo cual me parece impactante y por eso escribo esta declaración. Las únicas partes que son diferentes ip ason las que cabría esperar, como la dirección DHCPv6 de wlan0 y las estadísticas 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

Intenté jugar con netplan y /etc/network/interfaces, pero solo estoy apuñalando en la oscuridad. La última vez que configuré la red en Linux fue antes de que systemd tomara el control, y la configuración era muy diferente en aquel entonces. En primer lugar, no es que sepa mucho sobre solución de problemas de red. ¿Algunas ideas?

información relacionada