После планового перезапуска сервера для обслуживания было обнаружено, что сеть не может быть подключена. При внешнем входе было обнаружено, что IP-адрес не может быть настроен на сетевой карте. Вот некоторые шаги по устранению неполадок:
Версия операционной системы: Ubuntu 20.04.1 LTS.
Проверьте конфигурацию файла yaml по пути /etc/netplan. Ранее я настроил объединение двух сетевых карт. Содержимое файла конфигурации 01-netcfg.yaml следующее:
network:
ethernets:
eno1: {}
eno2: {}
version: 2
renderer: networkd
bonds:
bond0:
addresses: [ 10.2.30.43/24 ]
gateway4: 10.2.30.3
interfaces:
- eno3
- eno4
parameters:
mode: active-backup
mii-monitor-interval: 100
nameservers:
addresses:
- 10.2.66.66
- 10.35.88.77
netplan по умолчанию использует networkd в качестве инструмента управления сетью (в файле конфигурации yaml также есть средство рендеринга: networkd
символов), проверьте статус работы networkd с помощью systemctl status systemd-networkd, и очевидных отклонений нет.
Вручную выполните netplan --debug apply, и появится следующий вывод:
DEBUG:command generate: running ['/lib/netplan/generate']
** (generate:1460): DEBUG: 14:26:04.184: Processing input file /etc/netplan/01-netcfg.yaml..
** (generate:1460): DEBUG: 14:26:04.184: starting new processing pass
** (generate:1460): DEBUG: 14:26:04.184: We have some netdefs, pass them through a final round of validation
** (generate:1460): DEBUG: 14:26:04.184: eno3: setting default backend to 1
** (generate:1460): DEBUG: 14:26:04.184: eno4: setting default backend to 1
** (generate:1460): DEBUG: 14:26:04.184: networkd: definition eno1 is not for us (backend 1)
** (generate:1460): DEBUG: 14:26:04.184: networkd: definition eno2 is not for us (backend 1)
Обнаружено, что вывод журнала здесь прекращается, и нет вывода конфигурации, связанной с сетевой картой Bond0.
Проверьте системный журнал и найдите следующую информацию:
systemd-udevd[1017]: /run/systemd/network/01-netcfg.yaml.link: No valid setting found in the [Match] section, ignoring file.
Netplan будет использовать systemd-generator для создания соответствующей конфигурации сети на этапе запуска системы. В то же время при проверке пути /run/systemd/network не было обнаружено никакой конфигурации, связанной с сетевой картой Bond0. Первоначальный вывод заключается в том, что проблема связана с самим инструментом netplan.
После некоторого поиска я обнаружил, что такая ситуация встречалась и в других случаях, и подсказки указывают на проблемы совместимости версий netplan (ссылка по теме: https://bugs.launchpad.net/ubuntu/+source/netplan.io/+bug/ 1922898), проверьте номер версии через dpkg -l | grep netplan, он равен 0.99. Чтобы избежать этой ошибки, в статье рекомендуется обновиться до версии 102.
Найдите версию netplan.io, соответствующую версии операционной системы, в репозитории программного обеспечения http://security.ubuntu.com/ubuntu/pool/main/n/netplan.io/. Рекомендуемая версия: netplan.io_0.102-0ubuntu1. ~20.04.1_amd64.deb, а затем установите его с помощью dpkg -i netplan.io_0.102-0ubuntu1~20.04.1_amd64.deb. После успешной установки снова запустите dpkg -l | grep netplan, чтобы проверить, обновлена ли версия.
Наконец, перезапустите netplan apply и убедитесь, что конфигурация успешно вступила в силу.