Разработчики Ubuntu сообщили (https://lists.ubuntu.com/archives/ubuntu-devel-announce/2017...) о переводе находящегося в разработке осеннего выпуска дистрибутива (17.10) на использование netplan (https://git.launchpad.net/netplan/tree/doc/netplan.md) для хранения настроек сетевых интерфейсов, вместо ранее применяемого инструментария ifupdown, хранящего настройки в файле /etc/network/interfaces. Netplan обеспечивает хранение параметров в формате YAML и предоставляет бэкенды, абстрагирующие доступ к конфигурации для NetworkManager и systemd-networkd. Переход на Netplan обеспечивает (https://wiki.ubuntu.com/MigratingToNetplan) бесшовно, но пользователям также предоставлена возможность при желании продолжить использование ifupdown ("sudo apt install ifupdown"). В ежедневных сборках Ubuntu Server новая система уже задействована для записи сетевой конфигурации в каталог /etc/netplan. В Ubuntu Desktop простейшая конфигурация netplan уже применяется в NetworkManager, начиная с выпуска 16.10.
Применение netplan унифицирует определение базовых конфигурационных файлов, используемых в NetworkManager и systemd-networkd, избавляя от необходимости изучения деталей форматов конфигурации каждой из этих систем. Суть работы netplan сводится к тому, что в процессе начальной загрузки он читает базовые сетевые настройки из файлов "/{lib,etc,run}/netplan/*.yaml" и записывает конфигурацию в каталог /run в формате, подходящем для дальнейшей обработки сетевыми демонами (по умолчанию конфигурация передаётся systemd-networkd, но опционально поддерживается NetworkManager).
Из особенностей netplan также отмечается: игнорирование устройств, не отмеченных в конфигурации; вся конфигурация хранится только в исходном YAML-файле (без использования /etc/network/interfaces); поддерживается разбиение конфигурации на несколько файлов (например, для выноса настроек libvirt и lxd); гибкие возможности выбора и смены бэкенда. Из поддерживаемых команд отмечаются: "netplan generate" для генерации конфигурации для обработчиков (NetworkManager или systemd-networkd) на основе базовых YAML-настроек; "netplan apply" для применения всех настроек и перезапуска обработчиков;
"netplan ifupdown-migrate" для преобразования старых настроек /etc/network/interfaces в формат netplan.
Описание параметров сетевых интерфейсов в netplan осуществляется при помощи декларативного синтаксиса, позволяющего достаточно просто описать структуру сложной сети. Из достоинств netplan по сравнению с ifupdown отмечается декларативный синтаксис; возможность применения масок для имён сетевых интерфейсов, MAC-адресов, драйверов и других компонентов; netplan учитывает контекст при разборе иерархии параметров сетевых интерфейсов, что позволяет корректно и в правильном порядке передать настройки обработчикам (в ifupdown при разборе сложных кофигураций не исключено возникновение проблем, вызванных состоянием гонки).
В случае применения DHCP простейшиая конфигурация netplan будет выглядеть следующим образом:
network:
version: 2
ethernets:
enp3s0:
dhcp4: yes
Более сложный пример:
network:
version: 2
ethernets:
id0:
match:
macaddress: 00:11:22:33:44:55
wakeonlan: true
dhcp4: true
addresses:
- 192.168.14.2/24
- 2001:1::1/64
gateway4: 192.168.14.1
gateway6: 2001:1::2
nameservers:
search: [foo.local, bar.local]
addresses: [8.8.8.8]
lom:
match:
driver: ixgbe
set-name: lom1
dhcp6: true
switchports:
match:
name: enp2*
mtu: 1280
wifis:
all-wlans:
match: {}
access-points:
"Joe's home":
password: "s3kr1t"
wlp1s0:
access-points:
"guest":
mode: ap
channel: 11
bridges:
br0:
interfaces: [wlp1s0, switchports]
dhcp4: true
routes:
- to: 0.0.0.0/0
via: 11.0.0.1
metric: 3
URL: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2017...
Новость: https://www.opennet.ru/opennews/art.shtml?num=46751