我有一台桌上型電腦(名為“D”)和一台筆記型電腦(“L”),透過乙太網路連接到路由器(“Wormhole”)。此路由器僅用於連接這兩台電腦。此外,我在其他地方有一個 WiFi 路由器(“WiFi”),兩台電腦也連接到它。拓撲從那裡擴展,但細節並不重要。蟲洞連接的存在是為了加速這兩台機器之間的資料傳輸。 (注意:我被告知我在這裡錯誤地使用了“路由器”一詞。我的意思是統稱為路由器的設備的交換端。)
WiFi處理192.168.4.1/24和外部位址;蟲洞僅處理 192.168.8.1/24。此外,WiFi 使用 DHCP,但 Wormhole 的客戶端具有靜態 IP。 D的蟲洞位址是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
、ip route
、ip route show to match 192.168.8.1
、ip a
和的輸出。nmcli device show
輸出是相同的,這讓我感到震驚,這也是我寫下這個請求的原因。唯一不同的部分ip a
是您所期望的,例如 wlan0 的 DHCPv6 位址和 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 接管之前,當時的配置有很大不同。首先,我並不是很了解網路故障排除。有任何想法嗎?