Как перезапустить сеть в Ubuntu Linux: команды netplan apply и systemctl
Почему старые команды перезапуска сети больше не работают
В старых версиях Linux для применения нового IP-адреса администраторы привыкли использовать команду /etc/init.d/networking restart или перезапускать интерфейс через ifdown / ifup. Начиная с Ubuntu 18.04 LTS и во всех современных релизах (20.04, 22.04, 24.04) управление сетью полностью переведено на утилиту Netplan. Попытка использовать устаревшие команды приводит к зависанию сети или полному отсутствию реакции системы.
Где хранятся настройки сети в современных Ubuntu
Все сетевые параметры (IP-адрес, шлюз, DNS, маска) описываются в конфигурационных файлах формата YAML в каталоге /etc/netplan/ (например, 01-netcfg.yaml или 50-cloud-init.yaml).
Пошаговое руководство: Редактирование и применение сетевых настроек
Шаг 1: Поиск и редактирование файла конфигурации Netplan
Откройте файл конфигурации в текстовом редакторе nano:
sudo nano /etc/netplan/*.yamlПример правильного статического IP-адреса (будьте предельно внимательны к отступам!):
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.150/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]Нажмите Ctrl + O и Enter для сохранения, затем Ctrl + X для выхода.
Шаг 2: Безопасное тестирование настроек (netplan try)
Чтобы не потерять доступ к удаленному серверу из-за случайной опечатки в IP-адресе, используйте команду автоотката:
sudo netplan tryКоманда применит настройки на 120 секунд. Если вы не подтвердите подключение нажатием клавиши Enter, система автоматически вернет старый рабочий IP-адрес!
Шаг 3: Окончательное применение сети (netplan apply)
Если вы уверены в настройках, примените их напрямую:
sudo netplan applyШаг 4: Проверка нового IP-адреса
Убедитесь, что сетевой интерфейс поднялся с правильным адресом:
ip a show eth0
Проверка связи со шлюзом
ping -c 3 192.168.1.1Типовые ошибки администраторов
- Использование символа табуляции (Tab) в YAML-файлах: Формат YAML категорически запрещает использовать клавишу Tab! Все отступы должны формироваться только пробелами (обычно по 2 или 4 пробела на уровень). Из-за одного символа Tab команда
netplan applyвыдаст фатальную ошибку Invalid YAML. - Перезапуск через systemctl restart networking: В новых версиях служба называется
systemd-networkd. Перезапуск старого сервиса networking ничего не изменит.
Инженеры ITSTM оперативно подключатся через KVM/IPMI консоль дата-центра, исправят сетевые маршруты и восстановят доступность ваших серверов.
Частые вопросы (FAQ)
Что делать, если netplan apply выдает ошибку 'Invalid YAML at line ...'?
Откройте файл конфигурации и проверьте строку, указанную в ошибке. Замените все символы табуляции на обычные пробелы и убедитесь в строгой вертикальной структуре отступов.
Как посмотреть имя своего сетевого интерфейса в Linux?
Выполните команду 'ip link' или 'ip a'. Интерфейс обычно называется eth0, ens3, enp3s0 (а не старый eth0).
Как перезапустить сетевую службу systemd-networkd напрямую?
Выполните команду: sudo systemctl restart systemd-networkd
Как быстро вернуть получение IP-адреса по DHCP?
В файле netplan укажите 'dhcp4: true', удалите строки addresses, routes и nameservers, после чего выполните 'sudo netplan apply'.