問題:啟動延遲 5 分鐘
設備:UP板(小型x86板),運轉18.04,附Panda PAU05無線USB轉接器,透過HDMI連接到顯示器
網路設定:使用netplan和systemd-networkd。未安裝網路管理員。
連接乙太網路後,設備啟動速度很快。我可以拔掉乙太網路並依靠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 分鐘後,啟動正常完成。
我修改了我的網路規劃,讓乙太網路和 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
感謝那些提供幫助的人!