Netplan и как его правильно приготовить

WADAPSK 17 апреля 2019 в 07:25
  • Настройка Linux,
  • Системное администрирование,
  • * nix,
  • Сетевые технологии
  • Из песочницы
Ubuntu потрясающая операционная система, давно не работала с сервером Ubuntu, а обновлять свой рабочий стол со стабильной версии не было смысла. И вот не произошло столкновение со свеженьким релизом сервера Ubuntu 18.04, моему удивлению не было предела. Когда я понял что я бесконечно отстал от жизни и не могу настроить сеть, т.к старая добрая система настройки сетевых интерфейсов по средствам редактирования файла/etc/network/interfaces канула в Лету. А что же пришло ей на смену? Что-то ужасное и на первый взгляд совершенно не понятное, встречайте «Netplan».

Признаться честно, сначала я не мог понять в чем дело и » зачем это нужно, ведь все было так удобно «, но получив немного практики понял, что в нем есть свой шарм. И так хватит лирики продолжим. Что же такое Netplan — это новая утилита для настройки сети в Ubuntu, по крайней мере« в других дистрибутивах я не встречал подобного ». Netplan является тем, что конфигурация пишется на языке YAML, да вы не ослышались YAML, разработчики решили идти в ногу со временем (и как бы много не расхваливали его я все-таки считаю его ужасным языком).

Файлы конфигурации находятся по пути/etc/netplan/имяфайла.yaml, между каждым блоком, когда должно быть + 2 пробела. br>
1) Стандартная шапка выглядит так:

  network: version: 2 renderer: networ  kd ethernets: enp3s0f0: dhcp4: no  

Давайте рассмотрим что мы сейчас сделали:

  • сеть: — это блок начало конфигурации.
  • renderer: networkd — здесь мы указываем сетевой менеджер, который будем использовать, это либо networkd либо NetworkManager
  • version: 2 — тут, как я понял, версия YAML.
  • ethernets: — этот блок говорит о том, что будем конфигурировать протокол ethernet.
  • enps0f0: — указываем какой сетевой адаптер будем конфигурировать.
  • dhcp4: no — отключаем DHCP IPv4, для IPv6, dhcp6 соответственно

2) Попробуем назначить IP-адрес:

  enp3s0f0: dhcp4: no macaddress: bb: 11: 13: ab: ff: 32 адреса: [10.10.10.2/24, 10.10.10.3/24] gateway4: 10.10.10.1 серверы имен:  адреса: 8.8.8.8  

Здесь мы задали мак, ipv4, шлюз и dns сервер. Заметьте, что если нам нужно больше одного IP-адреса, то мы пишем через запятую с обязательным пробелом после.

3) А что если нам нужно соединение?

  Bonds: bond0: dhcp4: no interfaces: [enp3s0f0, enp3s0f1] параметры: mode: 802. 3ad mii-monitor-interval: 1  

  • bond: — блок, поясняющий что мы будем настраивать склеивание.
  • bond0: — произвольное имя интерфейса.
  • интерфейсы: — набор интерфейсов собираемых в bond-динг, » как оговаривалось ранее, если параметры несколько описываем их в квадратных скобках «.
  • параметры: — описываем блок настройки параметров
  • mode: — указываем мод по которому будет работать bonding.
  • mii-monitor-interval: — задаем интервал мониторинга 1 сек.

Внутри блока с именем bond-а также можно настроить такие параметры как адреса, шлюз4, маршруты итд.

сети, теперь осталось только повесить vlan и настройку можно считать оконченной.

  vlans: vlan10: id: 10 link: bond0 dhcp4: no addresses: [10.10  .10.2/24] шлюз: 10.10.10.1 маршруты: - к: 10.10.10.2/24 через: 10.10.10.1 on-link: true  

  • vlans: — объявляем б лок настройки vlan.
  • vlan10: — произвольное имя vlan интерфейса.
  • id: — тег нашего vlan.
  • link: — интерфейс через который vlan будет доступен.
  • маршруты: — объявляем блок описания маршрутов.
  • — к: — задаем адрес/подсеть до которой необходим маршрут.
  • через: — указываем шлюз через которой будет доступна наша подсеть.
  • on-link: — указываем что прописывать маршруты всегда при поднятии линка.

Обратите внимание на то, как я расставляю пробелы, на языке YAML это очень важно.

Вот мы описали сетевые интерфейсы, создали связь, и даже добавили vlan-ы. Давайте применим наш конфиг, команда netplan применит проверит наш конфиг на наличие ошибок и применит его в случае успеха. Далее конфиг будет сам подниматься при перезагрузке системы.

Собрав все предыдущие блоки кода, вот что у насилось:

  сеть: версия: 2 рендерер: networkd ethernets: enp3s0f0: dhcp4: нет ensp3s0f1: dhcp4: нет связей: bond0: dhcp4: нет интерфейсов: [enp3s0f0, enp3s0f1] параметры: режим: 802.3ad mii-monitor-interval: 1 vlan10:  id: 10 ссылка: bond0 dhcp4: нет адресов: [10.10.10.2/24] маршруты: - к: 10.10.10.2/24 через: 10.10.10.1 on-link: true vlan20: id: 20 ссылка: bond0 dhcp4: без адресов  : [10.10.11.2/24] шлюз: 10.10.11.1 сервер имен: адреса: [8.8.8.8]  

Вот наша сеть и готова к эксплуатации. Все оказалось не так страшно, как показалось вначале и код получился очень красивый и читабельный.
P.S спасибо что по netplan есть отличный мануал по ссылке https://netplan.io/.

Теги:
  • linux для всех
  • ubuntu
  • netplan
  • сеть
  • config
Хабы:
  • Настройка Linux
  • Системное администрирование
  • * nix
  • Сетевые технологии
Укажите причину минуса, чтобы автор поработал над ошибками
Оцените статью
Botgadget.ru
Добавить комментарий