Проблема: 5-минутная задержка при запуске
Устройство: плата UP (маленькая плата x86), работающая под управлением 18.04, с беспроводным USB-адаптером Panda PAU05, подключенная через HDMI к монитору
Конфигурация сети: с использованием netplan и systemd-networkd. NetworkManager не установлен.
При подключении Ethernet устройство загружается быстро. Я могу отключить Ethernet и положиться на Wi-Fi. SSH работает и т. д.
Когда Ethernet не подключен, происходит задержка в 5 минут. Консоль говорит A start job is running for Raise network interfaces (Xmin Ys / 5min 2s)
и медленно отсчитывает до 5мин 2с. Я могу пинговать устройство, но ssh отказывается: ssh: connect to host rodeobot.local port 22: Connection refused
. Через 5 минут загрузка завершается нормально.
Я повозился с моим netplan, чтобы сделать интерфейсы ethernet и wifi необязательными, но это не помогло. Я также пробовал удалить интерфейс ethernet, но это не помогло. Вот что /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 и пароль.)
Редактировать: вот результат 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
Спасибо всем, кто помог!