
Netplan – это инструмент для настройки сетевых интерфейсов в системах на базе Ubuntu, начиная с версии 17.10. Он использует декларативные YAML-файлы, через которые задаются параметры сетевого подключения. Конфигурация Netplan преобразуется в настройки для сетевых менеджеров NetworkManager или systemd-networkd, в зависимости от среды и потребностей.
Основная идея Netplan – хранение сетевых настроек в одном читаемом файле, например /etc/netplan/01-netcfg.yaml. В этом файле можно задать статические IP-адреса, шлюзы, DNS-серверы и правила маршрутизации. После внесения изменений конфигурация применяется командой sudo netplan apply, которая немедленно активирует новые параметры без ручного редактирования низкоуровневых файлов.
Netplan особенно полезен при автоматизации настройки серверов и виртуальных машин. YAML-структура облегчает интеграцию с системами управления конфигурациями, такими как Ansible или Cloud-init. Благодаря этому можно быстро развернуть одинаковые сетевые схемы на множестве устройств без риска ошибок, связанных с ручным редактированием.
Понимание принципов работы Netplan и правильное составление YAML-файлов позволяет администратору точно контролировать сетевую топологию, управлять интерфейсами и минимизировать время на диагностику неполадок.
Назначение и особенности конфигурации Netplan

Netplan используется для централизованного управления сетевыми параметрами в системах на базе Ubuntu и других дистрибутивах, где применяются systemd-networkd или NetworkManager. Его задача – описывать сеть в YAML-файлах, которые автоматически преобразуются в конфигурацию соответствующего сетевого менеджера.
Файлы Netplan хранятся в каталоге /etc/netplan/. Каждый файл имеет расширение .yaml и содержит разделы network, ethernets, wifis, bonds, bridges или vlans. Такая структура позволяет задавать параметры для различных типов соединений и устройств в одном месте.
Основные отличия Netplan от классических способов настройки сети – читаемый формат, поддержка декларативного описания и возможность выбора сетевого менеджера. Это особенно удобно при работе с серверами и облачными инстансами, где требуется воспроизводимая конфигурация.
| Параметр | Назначение | Пример значения |
|---|---|---|
| renderer | Определяет, какой сетевой менеджер будет использоваться | NetworkManager или systemd-networkd |
| dhcp4 | Включает получение IPv4-адреса по DHCP | true / false |
| addresses | Указывает статические IP-адреса | [192.168.1.10/24] |
| gateway4 | Задает основной шлюз для IPv4 | 192.168.1.1 |
| nameservers | Определяет DNS-серверы и доменные суффиксы | addresses: [8.8.8.8, 1.1.1.1] |
При изменении конфигурации рекомендуется сначала выполнить команду sudo netplan try, чтобы проверить корректность настроек без немедленного их применения. Это помогает избежать потери доступа к системе при ошибках в YAML-разметке или параметрах интерфейсов.
Где находятся файлы настроек Netplan в Ubuntu

Все конфигурационные файлы Netplan размещаются в системном каталоге /etc/netplan/. При установке Ubuntu этот каталог создается автоматически и содержит один или несколько YAML-файлов, например 01-netcfg.yaml или 50-cloud-init.yaml. Названия могут отличаться в зависимости от метода установки и типа среды – серверной, настольной или облачной.
Файлы в /etc/netplan/ читаются в алфавитном порядке, поэтому при наличии нескольких конфигураций приоритет получает последний по имени файл. Это можно использовать для переопределения настроек без изменения исходных шаблонов.
Если конфигурация создается вручную, рекомендуется использовать имена с префиксами 01-, 10- или 99- для указания порядка загрузки. Формат файлов строго YAML, и ошибки отступов приводят к сбоям при применении.
Для проверки доступных файлов можно выполнить команду:
ls /etc/netplan/
Чтобы отредактировать конфигурацию, используют текстовый редактор, например:
sudo nano /etc/netplan/01-netcfg.yaml
После сохранения изменений настройки активируются командой sudo netplan apply. Если необходимо протестировать конфигурацию перед применением, стоит использовать sudo netplan try – при ошибке изменения автоматически откатываются.
В системах, развёрнутых через облачные платформы, Netplan часто взаимодействует с cloud-init, который создаёт базовый файл 50-cloud-init.yaml. При необходимости можно добавить собственный YAML-файл с более высоким приоритетом для переопределения параметров сети.
Основные параметры YAML-файла Netplan

Файл конфигурации Netplan имеет строгую структуру YAML, где каждый параметр определяет отдельный аспект сетевого подключения. Верхний уровень всегда начинается с ключа network:, внутри которого указываются версии и используемые сетевые менеджеры.
Ключ version задает версию синтаксиса Netplan, обычно используется значение 2. Параметр renderer определяет, какой компонент будет управлять сетью – NetworkManager или systemd-networkd. Выбор зависит от того, используется ли система как сервер или рабочая станция.
Для описания проводных интерфейсов применяется раздел ethernets:, где задаются имена устройств, например enp3s0. Внутри этого блока указываются параметры подключения:
- dhcp4: включает или отключает получение IPv4 по DHCP;
- addresses: определяет список статических IP-адресов в формате CIDR;
- gateway4: задает адрес основного шлюза;
- nameservers: содержит список DNS-серверов и доменов поиска;
- routes: используется для ручного добавления маршрутов.
Для беспроводных интерфейсов создается раздел wifis:, где дополнительно задаются ключи access-points: и password: для подключения к защищенным сетям. При необходимости можно определить параметры VLAN, bond или bridge, добавив соответствующие разделы vlans:, bonds: и bridges:.
Пример минимальной конфигурации с ручными IP-настройками:
network: version: 2 renderer: networkd ethernets: enp3s0: addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]
Перед применением изменений стоит выполнить sudo netplan try, чтобы проверить корректность файла. Ошибки отступов, неверные типы данных или отсутствие обязательных ключей приведут к отказу Netplan от загрузки конфигурации.
Настройка статического IP-адреса через Netplan

Для задания постоянного IP-адреса в Netplan используется редактирование YAML-файла в каталоге /etc/netplan/. Обычно файл называется 01-netcfg.yaml или 50-cloud-init.yaml, в зависимости от среды установки.
Необходимо открыть файл с правами администратора, например:
sudo nano /etc/netplan/01-netcfg.yaml
В разделе ethernets: следует указать имя интерфейса и задать параметры вручную. Пример конфигурации для интерфейса enp3s0:
network: version: 2 renderer: networkd ethernets: enp3s0: dhcp4: false addresses: [192.168.1.50/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]
Параметр dhcp4: false отключает автоматическое получение адреса по DHCP. Ключ addresses задает IP и маску сети, gateway4 – адрес маршрутизатора, а nameservers – используемые DNS-серверы.
После внесения изменений следует проверить корректность файла командой:
sudo netplan try
Если система не сообщает об ошибках, конфигурацию можно применить командой:
sudo netplan apply
Чтобы убедиться, что новый IP активен, выполняется проверка:
ip addr show enp3s0
При необходимости можно назначить несколько адресов интерфейсу, указав их в списке addresses. Это удобно при обслуживании нескольких подсетей или настройке маршрутизации между ними.
Создание и управление DHCP-подключением

Для настройки автоматического получения IP-адреса через DHCP в Netplan достаточно включить соответствующую опцию в конфигурационном файле YAML. Все настройки выполняются в каталоге /etc/netplan/, где располагаются файлы с расширением .yaml.
Пример конфигурации проводного интерфейса enp3s0 с активным DHCP:
network: version: 2 renderer: networkd ethernets: enp3s0: dhcp4: true dhcp6: false
Параметр dhcp4: true включает получение IPv4-адреса от DHCP-сервера. Если сеть поддерживает IPv6, можно активировать dhcp6: true. При этом вручную прописывать шлюз, DNS и маску сети не требуется – они передаются сервером автоматически.
После сохранения изменений проверяется конфигурация командой:
sudo netplan try
Если ошибок нет, настройки применяются с помощью:
sudo netplan apply
Проверить, какой адрес выдан DHCP-сервером, можно командой:
ip addr show enp3s0
При необходимости можно задать дополнительные параметры DHCP, например собственные DNS или маршруты. Для этого используется раздел nameservers: или routes:, которые дополняют полученные от сервера данные.
В системах с активным NetworkManager параметр renderer: NetworkManager позволяет управлять DHCP-профилями через графический интерфейс или команды nmcli, сохраняя совместимость с YAML-конфигурацией Netplan.
Применение и проверка конфигурации Netplan

После редактирования YAML-файла в /etc/netplan/ необходимо убедиться в правильности синтаксиса и логики настроек. Для этого используется команда:
sudo netplan try
Эта команда временно применяет конфигурацию и предоставляет 120 секунд для проверки подключения. Если соединение не устанавливается, настройки автоматически откатываются, что предотвращает потерю доступа к системе.
Для окончательного применения конфигурации используется команда:
sudo netplan apply
Она активирует параметры сети без перезагрузки. После выполнения рекомендуется проверить статус интерфейсов и назначенные IP-адреса:
ip addr show
Для диагностики маршрутов и шлюзов используется:
ip route
Если применяются изменения DNS, проверяется корректность через команду:
systemd-resolve —status
При использовании NetworkManager дополнительно можно проверить профиль интерфейса:
nmcli device show
Регулярная проверка после внесения изменений позволяет своевременно выявлять ошибки в YAML-файле, конфликты IP-адресов или проблемы с DHCP, что сокращает время на восстановление сети.
Типичные ошибки при настройке и способы их исправления

Ошибки в конфигурации Netplan чаще всего связаны с синтаксисом YAML, неправильными параметрами интерфейсов и конфликтами сетевых адресов. Основные проблемы и способы их устранения:
-
Неправильные отступы в YAML: YAML чувствителен к пробелам. Каждый уровень вложенности должен быть отделен двумя пробелами, табуляция недопустима. Исправление: проверка отступов и использование текстового редактора с поддержкой подсветки YAML.
-
Ошибки имени интерфейса: Если указано несуществующее устройство, конфигурация не применяется. Исправление: команда ip link show для проверки доступных интерфейсов.
-
Конфликты IP-адресов: Статический IP совпадает с уже существующим в сети. Исправление: проверка занятых адресов командой ping и корректировка параметров addresses.
-
Неверные шлюз или DNS: Некорректные значения gateway4 или nameservers приводят к потере маршрутизации и разрешения доменов. Исправление: проверка доступности шлюза и DNS-серверов через ping и nslookup.
-
Ошибка применения конфигурации: Использование sudo netplan apply без проверки. Исправление: сначала sudo netplan try для тестирования настроек.
Для диагностики применяемой конфигурации полезно использовать команды:
- ip addr show – проверка назначенных адресов;
- ip route – проверка маршрутов;
- systemd-resolve —status – проверка DNS;
- journalctl -u systemd-networkd – просмотр ошибок сетевого менеджера.
Следование этим рекомендациям позволяет минимизировать простои сети и быстро исправлять типичные ошибки при работе с Netplan.
Вопрос-ответ:
Что такое Netplan и зачем он нужен в Ubuntu?
Netplan — это инструмент для настройки сетевых интерфейсов в системах на базе Ubuntu. Он использует YAML-файлы для задания параметров подключения, таких как статические IP-адреса, шлюзы и DNS. Эти файлы преобразуются в конфигурацию для systemd-networkd или NetworkManager, что позволяет централизованно управлять сетью без ручного редактирования низкоуровневых файлов.
Где хранятся файлы конфигурации Netplan и как их найти?
Все конфигурационные файлы находятся в каталоге /etc/netplan/. Обычно это один или несколько YAML-файлов, например 01-netcfg.yaml или 50-cloud-init.yaml. Для просмотра списка файлов используется команда ls /etc/netplan/, а редактирование выполняется с правами администратора через текстовый редактор.
Как задать статический IP-адрес через Netplan?
Для статического IP нужно открыть YAML-файл в /etc/netplan/ и в разделе ethernets указать имя интерфейса, отключить DHCP (dhcp4: false) и прописать адрес, шлюз и DNS. После сохранения изменений сначала выполняется sudo netplan try для проверки корректности, а затем sudo netplan apply для активации настроек.
Можно ли использовать Netplan для подключения через DHCP и как проверить настройки?
Да, включение DHCP выполняется через параметр dhcp4: true в YAML-файле для выбранного интерфейса. После применения конфигурации командой sudo netplan apply можно проверить назначенный адрес с помощью ip addr show и маршруты через ip route. Если используется NetworkManager, дополнительно можно проверить профили через nmcli device show.
Какие ошибки чаще всего встречаются при работе с Netplan и как их исправить?
Наиболее распространенные ошибки связаны с неправильными отступами в YAML, неверным именем интерфейса, конфликтами IP-адресов, некорректным шлюзом или DNS. Исправление включает проверку отступов, уточнение имени устройства через ip link show, корректировку IP-адресов и DNS, а также тестирование конфигурации командой sudo netplan try перед применением.
Как проверить, что конфигурация Netplan применена корректно после изменения YAML-файла?
После редактирования файла в /etc/netplan/ рекомендуется сначала выполнить команду sudo netplan try. Она временно активирует новые настройки и предоставляет возможность отката, если сеть не поднимается. Для окончательного применения используется sudo netplan apply. Проверку можно провести командами ip addr show для просмотра назначенных IP-адресов, ip route для проверки маршрутов и systemd-resolve —status для DNS. Если используется NetworkManager, дополнительно проверяют состояние интерфейса через nmcli device show. Этот подход позволяет убедиться в правильности параметров и избежать потери соединения.
