2 つのネットワーク インターフェイスのうち 1 つがランダムに故障する

2 つのネットワーク インターフェイスのうち 1 つがランダムに故障する

私はデスクトップ (「D」という名前) とラップトップ (「L」) をイーサネットでルーター (「Wormhole」) に接続しています。このルーターは、これら 2 台のコンピューターを接続するためだけに使用します。さらに、別の場所に Wi-Fi ルーター (「WiFi」) があり、両方のコンピューターもそれに接続しています。トポロジーはそこから拡張されますが、詳細は重要ではありません。Wormhole 接続は、これら 2 台のマシン間のデータ転送を高速化するために存在します。(注: ここで「ルーター」という単語を誤って使用していることが報告されています。私が言っているのは、ルーターと総称されるデバイスのスイッチング側です。)

WiFi は 192.168.4.1/24 と外部アドレスを処理しますが、Wormhole は 192.168.8.1/24 のみを処理します。さらに、WiFi は DHCP を使用しますが、Wormhole のクライアントは静的 IP を持っています。D の Wormhole アドレスは 192.168.8.8 で、L は 192.168.8.6 です。予想どおり、D の Wifi 接続は wlan0 経由で、Wormhole は eth0 経由で行われます。

時々これはうまくいきます192.168.8.8と192.168.8.6の間のトラフィックは高速です。しかし、Dが起動した後、ランダムに、Dがワームホールに到達できないことがある次回の再起動時にもう一度サイコロを振るまで。回避策として、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同一で、私は衝撃を受け、この嘆願書を書いている理由です。 で異なる部分は、wlan0 の DHCPv6 アドレスや LFT 統計など、予想どおりの部分だけです。ip routeip route show to match 192.168.8.1ip anmcli device showip a

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 が導入される前で、当時の構成は大きく異なっていました。そもそもネットワークのトラブルシューティングについてはあまり詳しくありません。何かアイデアはありますか?

関連情報