全新安装 Ubuntu 22.10 来管理有线网络时遇到问题。安装过程中,它会检测到 4 个端口,我使用 DHCP 配置了一个端口,并禁用了所有其他端口。这是一个非常简单的配置,线路始终处于连接状态,并将提供 DHCP 地址,但每次启动时都会systemd-networkd-wait-online.service
失败。
我的主板是 SuperMicro X9DRI-LN4F,有 4 个板载端口。
启动设备时我看到以下内容:
1 月 31 日 13:28:46 labNode1 systemd[1]: 已达到网络准备目标。 1 月 31 日 13:28:46 labNode1 systemd[1]:正在启动网络配置... 1 月 31 日 13:28:47 labNode1 systemd[1]:已启动网络配置。 1 月 31 日 13:28:47 labNode1 systemd[1]: 已到达目标网络。 1 月 31 日 13:28:47 labNode1 systemd[1]:正在开始等待网络配置... 1 月 31 日 13:29:15 labNode1 systemd[1]: systemd-fsckd.service: 已成功停用。 1月31日 13:30:47 labNode1 systemd[1]:systemd-networkd-wait-online.service:主进程已退出,代码=已退出,状态=1/FAILURE 1月31日 13:30:47 labNode1 systemd[1]:systemd-networkd-wait-online.service:结果为“退出代码”失败。 1月31日 13:30:47 labNode1 systemd[1]:无法启动等待网络配置。 1 月 31 日 13:30:47 labNode1 systemd[1]: 正在启动初始 cloud-init 作业 (元数据服务爬虫)... 1 月 31 日 13:30:49 labNode1 systemd[1]: 已完成初始 cloud-init 作业(元数据服务爬虫)。 1 月 31 日 13:30:49 labNode1 systemd[1]: 已达到目标云配置可用性。 1 月 31 日 13:30:49 labNode1 systemd[1]: 已达到目标网络在线。 1 月 31 日 13:30:49 labNode1 systemd[1]: 已达到系统初始化目标。
/etc/netplan/00-installer-config.yaml
# 这是由“subiquity”编写的网络配置 网络: 以太网: eth3: dhcp4: true 版本:2
我还看到 udev 尝试重命名设备,有时在重新启动连接的eth3 链接变为 eno1(相同的 MAC 地址)并且 eth3 消失。
1 月 31 日 13:28:44 labNode1 systemd-udevd[764]: eno1: 无法将网络接口 3 从“eth1”重命名为“eno1”: 文件存在 1 月 31 日 13:28:44 labNode1 systemd-udevd[797]: eno1: 无法将网络接口 4 从“eth2”重命名为“eno1”: 文件存在 1 月 31 日 13:28:44 labNode1 systemd-udevd[794]: eno1: 无法将网络接口 5 从“eth3”重命名为“eno1”: 文件存在 1 月 31 日 13:28:44 labNode1 systemd-udevd[764]: eno1: 无法处理设备,忽略:文件存在 1 月 31 日 13:28:44 labNode1 systemd-udevd[797]: eno1: 无法处理设备,忽略:文件存在 1 月 31 日 13:28:44 labNode1 systemd-udevd[794]: eno1: 无法处理设备,忽略:文件存在
当我登录并执行系统完全启动时,ip link show
我的eth3
显示为关闭。
1:lo:mtu 65536 qdisc 无队列状态未知模式默认组默认 qlen 1000 链路/环回 00:00:00:00:00:00 brd 00:00:00:00:00:00 2:eno1:mtu 1500 qdisc mq 状态 DOWN 模式 DEFAULT 组默认 qlen 1000 链接/以太 00:25:90:2d:d3:b8 brd ff:ff:ff:ff:ff:ff 替代名称 enp6s0f0 3:eth1:mtu 1500 qdisc mq 状态 DOWN 模式 DEFAULT 组默认 qlen 1000 链接/以太 00:25:90:2d:d3:b9 brd ff:ff:ff:ff:ff:ff 替代名称 enp6s0f1 4:eth2:mtu 1500 qdisc mq 状态 DOWN 模式 DEFAULT 组默认 qlen 1000 链接/以太 00:25:90:2d:d3:ba brd ff:ff:ff:ff:ff:ff 替代名称 enp6s0f2 5:eth3:mtu 1500 qdisc mq 状态 DOWN 模式 DEFAULT 组默认 qlen 1000 链接/以太 00:25:90:2d:d3:bb brd ff:ff:ff:ff:ff:ff 替代名称 enp6s0f3 6:docker0:mtu 1500 qdisc noqueue 状态 DOWN 模式 DEFAULT 组默认 链接/以太 02:42:b4:b0:a2:c9 brd ff:ff:ff:ff:ff:ff
我必须手动运行这些步骤才能使其重新上线,并且每次都能正常工作。
sudo ip link set dev eth3 up
sudo dhclient
我已经尝试了所有我能想到的方法,甚至是 netplan 中的别名。
# 这是由“subiquity”编写的网络配置 网络: 以太网: eno1: 可选: true eth0: 可选: true eth2: 可选: true eth3: dhcp4: true enp6s0f0: 可选: true enp6s0f1: 可选: true enp6s0f2: 可选: true enp6s0f3: dhcp4: true 版本:2
networkctl
以下是(手动启动 eth3 接口后)的输出
IDX 链路类型操作设置 1 lo 环回载波不受管理 2 eno1 以太无载波配置 3 eth1 以太无载体待处理 4 eth2 以太无载体待处理 5 eth3 ether 可路由待定 6 docker0 桥接无载体未管理 列出了 6 个链接。
journalctl -t systemd-networkd
-- 启动 e8c567961a2c4c0ea500fdb90029eccb -- 2 月 1 日 14:53:40 labNode1 systemd-networkd[1005]: lo: 链接已启动 2 月 1 日 14:53:40 labNode1 systemd-networkd[1005]: lo: 已获得运营商 2 月 1 日 14:53:40 labNode1 systemd-networkd[1005]: 枚举完成 2 月 1 日 14:53:40 labNode1 systemd-networkd[1005]: eno1: 使用 /run/systemd/network/10-netplan-eno1.network 进行配置。 2 月 1 日 14:53:40 labNode1 systemd-networkd[1005]: eno1: 链接已启动 2 月 01 日 14:53:42 labNode1 systemd-networkd[1005]: docker0: 链接已启动 2 月 1 日 14:54:02 labNode1 systemd-networkd[1005]: eno1: 已获得运营商 2 月 1 日 14:54:04 labNode1 systemd-networkd[1005]: eno1: 已获得 IPv6LL 2 月 1 日 15:11:19 labNode1 systemd-networkd[1005]: eno1: DHCPv6 租约丢失