
Ubuntu 24.04 использует Netplan как единственный инструмент конфигурации сети. Конфигурация хранится в YAML-файлах в /etc/netplan/, а сам Netplan генерирует конфиги для systemd-networkd или NetworkManager. В этой статье разберём настройку статического IP, маршрутов, DNS, VLAN и bond-интерфейсов - с реальными примерами файлов и командами.
Как работает Netplan
Netplan читает файлы из /etc/netplan/*.yaml и передаёт конфигурацию нужному бэкенду. В серверной установке Ubuntu 24.04 по умолчанию используется systemd-networkd. На десктопе - NetworkManager.
Файлы читаются в алфавитном порядке. Если несколько файлов конфигурируют одно устройство, последний выигрывает. Стандартный файл после установки Ubuntu Server называется 00-installer-config.yaml.
ls /etc/netplan/
# 00-installer-config.yaml
Применение конфига без перезагрузки:
sudo netplan apply
Для отладки используют:
sudo netplan --debug apply
sudo netplan try # применяет конфиг на 120 секунд, потом откатывает, если не подтвердить
netplan try особенно полезен при удалённой работе - если что-то пойдёт не так, соединение восстановится само через 2 минуты.
Структура YAML-файла
Все файлы Netplan начинаются с версии и секции network:
network:
version: 2
renderer: networkd
ethernets:
ens3:
...Поддерживаемые типы устройств: ethernets, wifis, bridges, bonds, vlans, tunnels.
Статический IP-адрес
По умолчанию Ubuntu настраивает DHCP. Для перехода на статический IP:
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: false
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
search:
- example.local
Здесь ens3 - имя интерфейса. Его можно узнать командой:
ip link show
# или
networkctl list

После редактирования файла применяем изменения:
sudo netplan apply
Для проверки:
ip addr show ens3
ip route show
resolvectl statusНастройка нескольких IP на одном интерфейсе
Netplan поддерживает несколько адресов на одном интерфейсе - просто добавляем их в список:
ethernets:
ens3:
dhcp4: false
addresses:
- 192.168.1.100/24
- 192.168.1.101/24
- 10.0.0.5/8Статические маршруты
Для добавления маршрутов используется секция routes:
ethernets:
ens3:
dhcp4: false
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
metric: 100
- to: 10.10.0.0/16
via: 192.168.1.254
- to: 172.16.0.0/12
via: 192.168.1.254
on-link: truemetric задаёт приоритет маршрута (меньше = выше приоритет). on-link: true указывает, что шлюз находится прямо в той же сети.
Настройка DNS
DNS настраивается через nameservers. Можно указать серверы и домены поиска:
nameservers:
addresses:
- 1.1.1.1
- 1.0.0.1
search:
- corp.example.com
- dev.example.com
Для проверки DNS-конфигурации:
resolvectl status
# или
cat /etc/resolv.confНа Ubuntu 24.04 файл /etc/resolv.conf является симлинком на /run/systemd/resolve/stub-resolv.conf. Напрямую его редактировать не нужно.
VLAN-интерфейсы
VLAN настраивается в отдельной секции vlans. Физический интерфейс (ens3) нужно объявить в ethernets, даже без IP:
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: false
vlans:
vlan10:
id: 10
link: ens3
dhcp4: false
addresses:
- 10.10.10.5/24
routes:
- to: default
via: 10.10.10.1
vlan20:
id: 20
link: ens3
dhcp4: false
addresses:
- 10.20.0.5/24
После применения:
sudo netplan apply
ip link show vlan10
ip addr show vlan10

Bond-интерфейс (агрегация каналов)
Bond объединяет два физических интерфейса в один логический. Это полезно для отказоустойчивости или увеличения пропускной способности.
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: false
ens4:
dhcp4: false
bonds:
bond0:
interfaces:
- ens3
- ens4
parameters:
mode: active-backup
primary: ens3
mii-monitor-interval: 100
dhcp4: false
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 1.1.1.1
Поддерживаемые режимы bond:
Режим | Описание |
|---|---|
| Балансировка round-robin |
| Один активный, второй резервный |
| XOR по MAC-адресам |
| LACP (нужна поддержка коммутатора) |
| Адаптивная балансировка исходящего трафика |
Проверка состояния bond:
cat /proc/net/bonding/bond0Несколько интерфейсов и маршрутизация
На серверах с двумя сетевыми картами (например, публичная и приватная сеть) нужно аккуратно управлять маршрутами:
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: false
addresses:
- 185.10.20.30/24
routes:
- to: default
via: 185.10.20.1
metric: 100
nameservers:
addresses:
- 1.1.1.1
ens4:
dhcp4: false
addresses:
- 10.0.0.5/24
routes:
- to: 10.0.0.0/8
via: 10.0.0.1
metric: 200metric здесь важен - дефолтный маршрут через ens3 имеет приоритет 100, поэтому весь интернет-трафик идёт через него. Маршрут в 10.0.0.0/8 использует ens4.
Диагностика проблем
Если netplan apply выдаёт ошибки:
# Проверить синтаксис YAML
sudo netplan generate
# Посмотреть ошибки systemd-networkd
journalctl -u systemd-networkd -n 50
# Посмотреть статус сетевых интерфейсов
networkctl status
Типичная ошибка - неправильный отступ в YAML. Netplan требует пробелы (не табы) и строгое соблюдение иерархии.

Итог
Netplan в Ubuntu 24.04 покрывает все стандартные задачи сетевой настройки: статический IP, несколько адресов, маршруты, DNS, VLAN и bond. Конфиги на YAML читаются проще, чем старые файлы /etc/network/interfaces. Команда netplan try защищает от потери доступа при ошибке в конфиге. Для сложных сценариев с несколькими интерфейсами - следите за метриками маршрутов.