Авторские статьи

Лёгкость и быстрота с NetPlan.


У разработчика Mathieu Trudel-Lapierre нашёл интересную информацию и объяснение про NetPlan. Данный проект был создан с целью унификации сетевых конфигураций во всей экосистеме Ubuntu. Но у многих возникли закономерные вопросы: зачем это? как применять?

Смысл в том, что NetPlan не замена и не дополнение к настоящим системам сетевых конфигураций типа NetworkManager или systemd-networkd. Ещё не стоит забывать про легендарный /etc/network/interfaces от ifupdown, который все поддерживают для совместимости. У всех различный синтаксис и различные файлы, в которых вы должны разбираться. NetPlan - это абстракция, которая позволит вам один раз создать свою сетевую конфигурацию и превратить её в готовые конфигурации под различные системы.

Сейчас я, как админ, в идеале должен формировать свои сетевые предпочтения на серверах через systemd-networkd, как недавно мне показала-наказала жизнь. Как пользователь мне проще указывать настройки WiFi или VPN в графическом NetworkManager.

Тяжелее всего тем, кому нужно свою сетевую конфигурацию разворачивать в различных системах. Кто этот бедный человек? На ум приходят сами разработчики, которые в различных образах Убунту, по-разному реализуют одно и тоже. Возможно в комментариях вы приведёте ещё примеры.

Давайте рассмотрим возможности NetPlan.

Начало

Самая простая конфигурация NetPlan выглядит так:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

При загрузке операционной системы - netplan, который есть в Убунту с версии 16.10, видит такой конф и понимает, что NetworkManager является системой, обслуживающей сеть, и в терминах НетПлана будет называться renderer. Для такого тестового и простого конфигурационного файла будет создан один файл /run/NetworkManager/conf.d/10-globally-managed-devices.conf с пустым содержимым, так как ещё ничего толком не указано.

Простой сервер

Для вымышленного сервера можем указать как сконфигурировать его интерфейс eth0 с помощью DHCPv4. NetPlan поддерживает DHCPv6, указание статичного адреса IP, маршрутов и т.д.

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true

Примеры посложнее

Давайте для примера объединим два сетевых интерфейса eth0 и eth1 в bond0 с поддержкой VLAN и больших пакетов (jambo).

          network:
              version: 2
              ethernets:
                eth0:
                  dhcp4: n
                eth1:
                  mtu: 1280
                  dhcp4: n
              bonds:
                bond0:
                  interfaces:
                  - eth1
                  - eth0
                  mtu: 9000
              vlans:
                bond0.108:
                  link: bond0
                  id: 108

Согласитесь, что на данном примере видно, как легко создавать конфигурацию даже для сложных примеров. Один файл и потом вам создадут из него реальную конфигурацию в тех системах, что вам нужны.

Возможности

В данный момент netplan поддерживает NetworkManager и systemd-networkd в качестве бэкендов и может вам помочь создать сетевую конфигурацию с такими технологиями как: bond, мосты-bridges, VLAN, обычные интерфейсы со статичным IP или полученным по DHCP. Для мостов и bond поддерживаются их параметры, которые уточняют их поведение.

Моя отсебятина

NetPlan активно развивается и в нём будет появляться всё больше нужного для пользователей - типа клонировать MAC интерфейса. Со своей стороны, задал вопрос разработчику, а можно ли создать через NetPlan сетевую конфигурацию для Open vSwitch? Сейчас эту технологию я только начал осваивать и многое сделал по готовым примерам (bond+bridge+vlan), но примеры приведены для системы ifupdown в файле /etc/network/interfaces. Сразу стоит отметить, что опять наблюдаю не идеальную картину инициализации сетевых интерфейсов из-за ifupdown-стартует-из-systemd-как-обычная-программа. Сам конфигурационный файл /etc/network/interfaces просто ужасен в плане нагромождения букв и параметров, что очень сложно читать и легко ошибиться. Сейчас я готовлюсь самостоятельно разобраться и реализовать в тестовой среде нужную конфигурацию для Open vSwitch через systemd. Но почему бы не попробовать поручить это NetPlan'у?

Статья основана на материале Quick and easy network configuration with Netplan.

Дата последней правки: 2023-12-27 11:16:47

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта