Как перезапустить сеть в Ubuntu Linux: команды netplan apply и systemctl
Вы изменили статический IP-адрес, маску подсети или DNS-серверы в конфигурационном файле Netplan, но сервер продолжает работать со старыми настройками, либо сеть полностью пропала после ручной правки YAML-файла.
Как устроена сеть в современных версиях Ubuntu (Netplan)
Начиная с Ubuntu 18.04, 20.04, 22.04 и 24.04 LTS для управления сетью используется утилита Netplan. Все конфигурации хранятся в формате YAML в папке /etc/netplan/.
Шаг 1. Безопасное применение настроек сети (команда netplan try)
Если вы настраиваете удаленный сервер по SSH, всегда используйте безопасный режим тестирования:
sudo netplan tryЧто делает эта команда: она применяет новые настройки и запускает обратный таймер на 120 секунд. Если вы допустили ошибку и связь оборвалась, система автоматически вернет старые настройки через 2 минуты, и вы не потеряете доступ к серверу!
Шаг 2. Принудительное применение настроек (netplan apply)
Если вы уверены в правильности настроек или находитесь за физической консолью:
sudo netplan applyЭта команда мгновенно перезапускает сетевой стек и применяет все файлы из /etc/netplan/*.yaml.
Шаг 3. Что делать, если netplan ругается на ошибки YAML?
Формат YAML крайне чувствителен к отступам: запрещено использовать знаки табуляции (клавишу Tab) — используйте только пробелы!
Пример правильного конфига /etc/netplan/01-netcfg.yaml:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.50/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]Шаг 4. Проверка нового IP-адреса
ip a show eth0
ip route Частые вопросы (FAQ)
Почему команда 'systemctl restart networking' выдает ошибку в новой Ubuntu?
Классическая служба networking и файл /etc/network/interfaces устарели и больше не используются по умолчанию в современных версиях Ubuntu Server, уступив место Netplan.
Как поднять или опустить конкретный сетевой интерфейс вручную?
Используйте утилиту ip: sudo ip link set eth0 down (отключить) и sudo ip link set eth0 up (включить).
Как перезапустить сетевую службу systemd-networkd напрямую?
Выполните команду: sudo systemctl restart systemd-networkd.
Что делать, если после netplan apply пишет 'Invalid YAML at line ...'?
Откройте файл в nano и проверьте отступы: замените все символы Tab на пробелы и убедитесь, что вложенные блоки выровнены ровно по 2 или 4 пробела.