Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Как перезапустить сеть в Ubuntu Linux: команды netplan apply и systemctl

Обновлено: 26.08.2026 · Официальная документация ↗

Почему старые команды перезапуска сети больше не работают

В старых версиях 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 консоль дата-центра, исправят сетевые маршруты и восстановят доступность ваших серверов.
💡 Практика специалистов: При настройке серверов в облачных провайдерах (Yandex Cloud, Selectel, Hetzner) файл netplan часто генерируется утилитой Cloud-Init при каждой перезагрузке. Чтобы ваши ручные правки не затерлись, отключите сетевой модуль cloud-init созданием файла: 'echo "network: {config: disabled}" | sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg'.

Частые вопросы (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'.

Полезные материалы
Рекомендуем