Netplan — это новая утилита сетевых настроек с помощью командной строки, установленный начиная с Ubuntu 17.10 для легкого управления и сетевых настроек в системах Ubuntu. Она позволяет настроить сетевой интерфейс с использованием абстракции YAML. Он работает совместно с сетевыми демонами NetworkManager и systemd-networkd (называемыми рендерерами, вы можете выбрать, какой из них использовать) в качестве интерфейсов к ядру.
Он считывает сетевую конфигурацию, описанную в файле /etc/netplan/*.yaml
. Вы можете хранить конфигурации для всех своих сетевых интерфейсов в этих файлах.
Файлы конфигурации находятся по пути /etc/netplan/имяфайла.yaml
.
Получение адреса по DHCP
Конфигурация для автоматического получения адреса выглядит так:
network: renderer: networkd version: 2 ethernets: eth0: addresses: [] dhcp4: true
Давайте рассмотрим что мы сейчас сделали:
- network: — это блок начало конфигурации.
- renderer: networkd — здесь мы указываем сетевой менеджер который будем использовать, это либо networkd либо NetworkManager
- version: 2 — тут как я понял версия YAML.
- ethernets: — этот блок говорит о том что будем конфигурировать ethernet протокол.
- eth0: — указываем какой сетевой адаптер будем конфигурировать.
- dhcp4:no — отключаем DHCP v4, для 6 v6 dhcp6 соответственно
Настройка статического адреса
Добавим на интерфейс eth1 статический ip адрес, для этого добавим в первую конфигурацию секцию для eth1.
eth1: dhcp4:no macaddress: aa:14:1c:aa:f4:56 addresses: [192.168.1.2/24, 192.168.1.3/24] gateway4: 192.168.1.1 nameservers: addresses: 172.31.0.23
Здесь мы задали мак, ipv4, шлюз и dns сервер. Замет те что если нам нужно больше одного ip адреса то мы пишем их через запятую с обязательным пробелом после.
Настройка агрегации интерфейсов
Давайте теперь настроим bonding. Конфигурация будет выглядеть следующим образом.
network: renderer: networkd version: 2 ethernets: eth0: dhcp4: no eth1: dhcp4: no bonds: bond0: dhcp4: no interfaces: [eth0, eth1] parameters: mode: 802.3ad mii-monitor-interval: 1
- bonds: — блок поясняющий что мы будем настраивать bonding.
- bond0: — произвольное имя интерфейса.
- interfaces: — набор интерфейсов собираемых в bond-динг, »как оговаривалось ранее если параметров несколько описываем их в квадратных скобках».
- parameters: — описываем блок настройки параметров
- mode: — указываем мод по которому будет работать bonding.
- mii-monitor-interval: — задаем интервал мониторинга 1 сек.
Внутри блока с именем bond-а также можно конфигурировать такие параметры как addresses,gateway4,routes итд.
Настройка Vlan
Мы научились настраивать сеть на физическом интерфейсе и агрегацию каналов. Теперь давайте настроим vlan. Для этого добавьте в свой конфиг секцию vlans.
vlans: vlan50: id: 50 link: eth0 dhcp4: no addresses: [192.168.1.2/24] gateway: 192.168.1.1 routes: - to: 192.168.1.2/24 via: 192.168.1.1 on-link: true
- vlans: — объявляем блок настройки vlan.
- vlan10: — произвольное имя vlan интерфейса.
- id: — тег нашего vlan.
- link: — интерфейс через который vlan будет доступен.
- routes: — объявляем блок описания маршрутов.
- — to: — задаем адрес/подсеть до которой необходим маршрут.
- via: — указываем шлюз через которой будет доступна наша подсеть.
- on-link: — указываем что прописывать маршруты всегда при поднятии линка.
Обратите внимание на пробелы, в языке YAML это очень важно.
Применение конфигурации
После настройки сети, для того что бы конфигурация была применена, используйте команду.
netplan apply
Эта команда проверит наш конфиг на наличие ошибок и применит его в случае успеха. Далее конфиг будет сам подниматься при перезагрузке системы.
‘dhcp4:no — отключаем DHCP v4, для 6 v6 dhcp6 соответственно’
В примере, как настроить DHCP у Вас dhcp4: true
Дальше Вы пишите «Давайте рассмотрим что мы сейчас сделали:»
логичнее было бы пояснить:
dhcp4: true — включаем DHCP v4, для 6 v6 dhcp6 соответственно
Это я написал, что бы читатель не запутался, ведь не каждый новичок догадается.
Автору спасибо! Кое что мне отсюда пригодилось.