重启前网络正常。重启后,系统和所有网络设置均不正确。
笔记:
- Ubuntu 服务器 18.04 (Bionic)
- Canonical livepatch 几天前已经建立。
- 新的网络设备 netplan 似乎没有安装(但是有一个文件
/etc/netplan/50-cloud-init.yaml
) - 该机器似乎确实从路由器获得了 DHCP 租约(将通过以太网连接,IP 地址为 192.168.1.29)。
- enp7s0 接口(我相信是所需的连接设备)在启动时处于关闭状态。手动启动 enp7s0 接口可以连接到路由器:
/etc/resolv.conf
已符号链接到/run/systemd/resolve/stub-resolv.conf
文件。当我手动更新它时,nameserver 192.168.1.1
它就可以正常工作。
ping 192.168.1.1
connect: Network is unreachable
ping google.com
ping: google.com: System error
dig google.com
connection timed out ...
...
ipconfig enp7s0 192.168.1.29 netmask 255.255.255.0 broadcast 192.168.1.255
ipconfig enp7s0 up
ping 192.168.1.1
64 bytes from 192.168.1.1: ...
64 bytes from 192.168.1.1: ...
64 bytes from 192.168.1.1: ...
nslookup google.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name google.com
Address 172.217.164.110
...
ping google.com
ping: google.com: System error # ... still network issue, most tools do not resolve hosts
systemd-resolve google.com
google.com: 216.58.195.238
-- Information acquired via protocol DNS in 3.0494s.
-- Data is authenticated: no
我也尝试过配置,/etc/resolv.conf
/etc/nsswitch.conf
但没有成功。
并且在重新启动时,网络管理员可能会将一些 /etc 文件systemd-networkd
重置systemd-resolved
为不起作用的设置。
有人知道发生了什么吗?我可以发布日志或任何可以帮助诊断的内容。
答案1
我自己调查了这个问题——似乎我的机器上的 Canonical Livepatch 失败了(我还没有找到根本原因)。当它失败时,它只对 cloud-init 进行了部分更新,虽然没有安装 netplan,但许多网络设置已被更改以假设它已安装。这导致多个网络配置处于部分迁移状态。虽然我能够通过手动更改设置来恢复一些网络连接,但查找和配置它们所涉及的工作量非常大,而且如果没有启动脚本,许多更改就不会持久。我发现最合理的解决方案是重新安装操作系统并禁用 Canonical Livepatch。
如果确实是 18.04 的网络配置补丁导致了此问题,@Canonical 应该记住 18.04 是指定的 LTS——实时补丁在任何情况下都不应应用可能导致 LTS 服务器网络设置丢失的更新。如果是这样,那是一种极其粗心的行为。如果 Canonical 的任何人读到这篇文章,我将不胜感激任何对 Livepatch 内部机制有更多了解的人的评论,以确认和评估根本原因。