Netplan — инструмент конфигурирования сети в современных версиях Ubuntu, призванный упростить управление сетевыми настройками через единый YAML‑интерфейс. Однако пользователи Ubuntu 22.04 нередко сталкиваются с проблемой: после перезагрузки системы заданные через Netplan параметры сети «сбрасываются» — система использует настройки по умолчанию или вовсе теряет подключение.
В этой статье разберём причины такого поведения и предложим проверенные способы устранения.
Почему происходит сброс настроек
Основные причины:
- Конфликт с другими сетевыми менеджерами
Если в системе параллельно работаютNetworkManager,systemd-networkdилиifupdown, они могут перезаписывать конфигурации Netplan при загрузке. - Некорректный синтаксис YAML‑файла
Ошибки в/etc/netplan/*.yaml(отступы, опечатки, неверные ключи) приводят к тому, что Netplan игнорирует файл и применяет дефолтные настройки. - Отсутствие применения конфигурации
После правки файла необходимо выполнитьsudo netplan apply. Если этого не сделать, изменения не вступят в силу, а после перезагрузки система «вернётся» к предыдущей рабочей конфигурации. - Проблемы с правами доступа
Файл конфигурации должен принадлежать root и иметь права600или644. Иначе Netplan может отказаться его читать. - Автоматические обновления или скрипты
Некоторые пакеты или пользовательские скрипты могут перезаписывать/etc/netplan/.
Как диагностировать проблему
- Проверьте текущий статус сети:
ip a
ping -c 3 8.8.8.8
- Убедитесь, что конфигурация Netplan применена:
sudo netplan status
- Просмотрите файл конфигурации:
cat /etc/netplan/*.yaml
- Проверьте логи на ошибки:
journalctl -u netplan | grep -i error
Решение
Шаг 1. Проверьте синтаксис YAML
Откройте файл конфигурации (обычно /etc/netplan/01-netcfg.yaml или подобный) и убедитесь, что:
- отступы — пробелы (не табуляции);
- все ключи и значения корректны;
- нет лишних символов.
Пример корректного файла:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
addresses: [192.168.1.100/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Шаг 2. Примените конфигурацию
После правки выполните:
sudo netplan try
sudo netplan apply
Шаг 3. Отключите конфликтующие сервисы
Если используется NetworkManager, остановите его:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
Если используется ifupdown, удалите пакет:
sudo apt remove ifupdown
Шаг 4. Проверьте права доступа
Убедитесь, что файл конфигурации имеет правильные права:
sudo chmod 600 /etc/netplan/*.yaml
sudo chown root:root /etc/netplan/*.yaml
Шаг 5. Проверьте автозагрузку Netplan
Убедитесь, что сервис Netplan включён:
sudo systemctl enable netplan-hotplug.service
Шаг 6. Перезагрузите систему
После всех изменений выполните:
sudo reboot
Проверьте настройки после перезагрузки:
ip a
ping -c 3 8.8.8.8
Шаг 7. Альтернативный вариант
Если предыдущие рекомендации не помогли, то необходимо создать дополнительный файл настроек Netplan
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/70-cloud-init.yaml
Дополнительные рекомендации
- Резервное копирование. Перед правкой сохраняйте копию файла:
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.backup
- Тестирование в виртуальной среде. Если возможно, проверяйте изменения в VM перед применением на продуктивных серверах.
- Документация. Сверяйтесь с официальной документацией Netplan
Заключение
Сброс настроек Netplan после перезагрузки — распространённая, но решаемая проблема. Ключевые шаги:
- Проверить синтаксис YAML.
- Применить конфигурацию через
netplan apply. - Устранить конфликты с другими сетевыми менеджерами.
- Контролировать права доступа к файлам.
Следуя этим рекомендациям, вы обеспечите стабильное применение сетевых настроек в Ubuntu 22.04.