问题:启动延迟 5 分钟
设备:UP 板(小型 x86 板),运行 18.04,配备 Panda PAU05 无线 USB 适配器,通过 HDMI 连接到显示器
网络配置:使用 netplan 和 systemd-networkd。未安装 NetworkManager。
连接以太网后,设备可快速启动。我可以拔下以太网并依靠 wifi。SSH 可以正常工作,等等。
当以太网未连接时,会有 5 分钟的延迟。控制台显示A start job is running for Raise network interfaces (Xmin Ys / 5min 2s)
并慢慢计数至 5 分 2 秒。我可以 ping 设备,但 ssh 被拒绝:ssh: connect to host rodeobot.local port 22: Connection refused
。5 分钟后,启动正常完成。
我修改了我的 netplan,使以太网和 wifi 接口都成为可选的,但这没有帮助。我还尝试删除以太网接口,但这没有帮助。这是/etc/netplan/config.yaml
我现在正在运行的:
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
optional: true # Don't wait for Ethernet
dhcp4: true
wifis:
wlx9cefd5fcb328:
optional: true # Don't wait for Wifi
dhcp4: true
access-points:
"xxx":
password: "yyy"
编辑:我看到了几个类似的问题,但没有看到使用 netplan 的答案。这是 netplan 中的错误/缺失功能吗?
编辑:修复了 config.yaml 中的缩进和注释。(我复制并粘贴,然后编辑了 ssid 和 pw。)
编辑:这是结果sudo netplan --debug generate
:
** (generate:965): DEBUG: 18:35:38.361: Processing input file /etc/netplan/config.yaml..
** (generate:965): DEBUG: 18:35:38.362: starting new processing pass
** (generate:965): DEBUG: 18:35:38.362: wlx9cefd5fcb328: adding wifi AP 'Beckett'
** (generate:965): DEBUG: 18:35:38.362: wlx9cefd5fcb328: setting default backend to 1
** (generate:965): DEBUG: 18:35:38.362: Configuration is valid
** (generate:965): DEBUG: 18:35:38.362: enp1s0: setting default backend to 1
** (generate:965): DEBUG: 18:35:38.362: Configuration is valid
** (generate:965): DEBUG: 18:35:38.363: Generating output files..
** (generate:965): DEBUG: 18:35:38.363: NetworkManager: definition enp1s0 is not for us (backend 1)
** (generate:965): DEBUG: 18:35:38.363: wlx9cefd5fcb328: Creating wpa_supplicant configuration file run/netplan/wpa-wlx9cefd5fcb328.conf
** (generate:965): DEBUG: 18:35:38.363: Creating wpa_supplicant service enablement link /run/systemd/system/systemd-networkd.service.wants/[email protected]
** (generate:965): DEBUG: 18:35:38.364: NetworkManager: definition wlx9cefd5fcb328 is not for us (backend 1)
谢谢。
答案1
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
optional: true
dhcp4: true
wifis:
wlx9cefd5fcb328:
optional: true
dhcp4: true
access-points:
"xxx":
password: "yyy"
sudo netplan generate
# 生成配置文件
sudo netplan apply
# 应用新配置
reboot
# 验证操作正确
答案2
事实证明,enp1s0 不受 systemd-networkd 管理,因此 netplan 无效。我通过查看日志发现了这一点:
journalctl | grep enp1s0 | grep "managed by us"
我发现了许多如下所示的条目:
systemd-networkd: enp1s0: Link is not managed by us
解决办法是删除 ifupdown 包。为了保险起见(并确保我没有忘记!)我移动了 /etc/network 目录:
sudo apt remove ifupdown
sudo mv /etc/network /etc/network_old_ifupdown
sudo reboot now
在查看日志时,我还修复了 resolv.conf 的一个问题——我的符号链接有问题。这里有一个很好的解释:新的警报不断出现:服务器返回错误 NXDOMAIN,缓解潜在的 DNS 违规 DVE-2018-0001
感谢那些提供帮助的人!