概括
我的 Ubuntu 22.04LTS 桌面系统已进入网络正常工作的状态,只要我从恢复模式启用它,然后正常恢复启动。
如果我正常启动,网络连接就会“激活”,但我实际上无法连接到互联网。
我需要帮助来尝试理解和诊断问题并恢复网络功能。
症状
当我启动 ubuntu 时网络失败(没有先在恢复模式下启用网络)
- 选择的IP地址正确。
- 网关正确。
- DNS 服务器正确。
(正确的意思是,对于正常工作的网络连接和不正常工作的网络连接,它们是一样的)
但我无法访问互联网上的任何内容。网络图标上有一个“问号”。
- 我无法 ping 8.8.8.8、127.0.0.1 或名称服务器。
- nslookup 也无法解析
网络管理器日志包括:
> journalctl -x -v _SYSTEMD_UNIT=NetworkManager.service
device (enp0s31f6): Activition: successful, device activated.
我如何打破它
我想在我的系统上尝试使用 cuda,所以我按照说明安装了 cuda 包这里
作为此操作的一部分,它安装了 520 版本的 nvidia 驱动程序。
这导致启动时报告“NVRM:通过 NVIDIA Legacy 470 驱动程序支持。”并永远挂在“继续探测...”
我禁用了 fastboot 来进入 grub,启动到恢复并安装了版本 470。
系统现在重新启动,但网络不工作。我既有有线连接,也有无线连接,但都不起作用。
我不确定为什么会发生这种情况,因为我的显卡是 Nvidia,而网卡不是。安装过程中需要什么才能影响网络设置?
有线连接已连接。它具有预期的 IP 地址和网关。
GUI 报告“激活网络连接失败”,但这似乎仅适用于 wifi。如果我禁用它,这个问题就会消失。
我一度能够将 WiFi 置于与 LAN 连接相同的“问号”模式,但自此我无法连接到我的 SSID。
我在网络管理器日志中看不到任何明显的内容。
如果相关的话,不久前我从 20.04 成功进行了发行版升级。
到目前为止我尝试过
systemctl restart NetworkManager
systemctl restart systemd-networkd
交替禁用 IP6 和 IP4,但到目前为止没有任何效果。
重新安装网络管理器
我尝试通过 systemctl 关闭防火墙。
卸载与 nvidia 470 相关的所有内容。这会导致图形显示的分辨率低于所需分辨率,但也许并不奇怪,对网络没有影响。
卸载所有明显与 cuda 相关的内容。
> dpkg -l | grep cuda | xargs sudo apt remove -f
问题
Q 这里的“激活网络连接”实际上是什么意思?
问:除了“激活网络连接”之外,还需要做什么才能使网络真正正常工作?
问:网络图标上的问号是什么意思?
问:我还能尝试什么来诊断和修复它?
工作案例中的一个关键区别是这句话route
:
default _gateway 0.0.0.0 UG 100 0 0 enp0s31f6
请参阅下面的更多细节
不工作的情况:
> route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 100 0 0 enp0s31f6
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 virbr0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s31f6
192.168.123.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
> ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 70:4d:7b:64:62:35 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.17/24 brd 192.168.0.255 scope global dynamic noprefixroute enp0s31f6
valid_lft 854001sec preferred_lft 854001sec
inet6 fe80::ba46:11c7:b4d1:16b3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlx503eaa945dc9: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 50:3e:aa:94:5d:c9 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:ed:8b:39 brd ff:ff:ff:ff:ff:ff
inet 192.168.123.1/24 brd 192.168.123.255 scope global virbr0
valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:fe:8d:1b:aa brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
# inxi -N
Network:
Device-1: Intel Ethernet I219-V driver: e1000e
Device-2: Realtek RTL8188EUS 802.11n Wireless Network Adapter type: USB driver: r8188eu
# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0 1500 0 0 0 0 0 0 0 0 BMU
enp0s31f 1500 27075 0 0 0 1608 0 0 0 BMRU
lo 65536 5441 0 0 0 5441 0 0 0 LRU
virbr0 1500 0 0 0 0 0 0 0 0 BMU
# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp0s31f6
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 virbr0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s31f6
192.168.123.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
工作情况后:
- 以恢复模式启动
- 启用网络
- 恢复正常启动
新输出:
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp0s31f6
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp0s31f6
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s31f6
192.168.123.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 enp0s31f6
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s31f6
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s31f6
192.168.123.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
$ netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
docker0 1500 0 0 0 0 0 0 0 0 BMU
enp0s31f 1500 85232 0 1 0 46876 0 0 0 BMRU
lo 65536 4250 0 0 0 4250 0 0 0 LRU
virbr0 1500 0 0 0 0 0 0 0 0 BMU
$ inxi -N
Network:
Device-1: Intel Ethernet I219-V driver: e1000e
Device-2: Realtek RTL8188EUS 802.11n Wireless Network Adapter type: USB
driver: r8188eu
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 70:4d:7b:64:62:35 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.17/24 brd 192.168.0.255 scope global dynamic noprefixroute enp0s31f6
valid_lft 862734sec preferred_lft 862734sec
inet6 fe80::ba46:11c7:b4d1:16b3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlx503eaa945dc9: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 50:3e:aa:94:5d:c9 brd ff:ff:ff:ff:ff:ff
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:ed:8b:39 brd ff:ff:ff:ff:ff:ff
inet 192.168.123.1/24 brd 192.168.123.255 scope global virbr0
valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:05:f9:90:04 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever