Перейти к содержимому

Netplan io что это

  • автор:

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

Ubuntu потрясающая операционная система, давно не работал с Ubuntu server, а обновлять свой Desktop со стабильной версии не было смысла. И вот не давно пришлось столкнутся со свеженьким релизом Ubuntu server 18.04, моему удивлению не было предела. Когда я понял что я бесконечно отстал от жизни и не могу настроить сеть, т.к старая добрая система настройки сетевых интерфейсов по средствам редактирования файла /etc/network/interfaces канула в Лету. А что же пришло ей на смену? Что-то ужасное и на первый взгляд совершенно не понятное, встречайте «Netplan».

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

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

1) Стандартная шапка выглядит так:

network: version: 2 renderer: networkd ethernets: enp3s0f0: dhcp4:no

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

  • network: — это блок начало конфигурации.
  • renderer: networkd — здесь мы указываем сетевой менеджер который будем использовать, это либо networkd либо NetworkManager
  • version: 2 — тут, как я понял, версия YAML.
  • ethernets: — этот блок говорит о том, что будем конфигурировать ethernet протокол.
  • enps0f0: — указываем какой сетевой адаптер будем конфигурировать.
  • dhcp4:no — отключаем DHCP IPv4, для IPv6, dhcp6 соответственно
 enp3s0f0: dhcp4:no macaddress: bb:11:13:ab:ff:32 addresses: [10.10.10.2/24, 10.10.10.3/24] gateway4: 10.10.10.1 nameservers: addresses: 8.8.8.8

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

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

 bonds: bond0: dhcp4: no interfaces: [enp3s0f0, enp3s0f1] parameters: mode: 802.3ad mii-monitor-interval: 1
  • bonds: — блок, поясняющий что мы будем настраивать bonding.
  • bond0: — произвольное имя интерфейса.
  • interfaces: — набор интерфейсов собираемых в bond-динг, »как оговаривалось ранее если параметров несколько описываем их в квадратных скобках».
  • parameters: — описываем блок настройки параметров
  • mode: — указываем мод по которому будет работать bonding.
  • mii-monitor-interval: — задаем интервал мониторинга 1 сек.

Мы добавили резервирование для нашей сети, теперь осталось только повесить vlan и настройку можно считать оконченной.

vlans: vlan10: id: 10 link: bond0 dhcp4: no addresses: [10.10.10.2/24] gateway: 10.10.10.1 routes: - to: 10.10.10.2/24 via: 10.10.10.1 on-link: true 
  • vlans: — объявляем блок настройки vlan.
  • vlan10: — произвольное имя vlan интерфейса.
  • id: — тег нашего vlan.
  • link: — интерфейс через который vlan будет доступен.
  • routes: — объявляем блок описания маршрутов.
  • — to: — задаем адрес/подсеть до которой необходим маршрут.
  • via: — указываем шлюз через которой будет доступна наша подсеть.
  • on-link: — указываем что прописывать маршруты всегда при поднятии линка.

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

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

network: version: 2 renderer: networkd ethernets: enp3s0f0: dhcp4: no ensp3s0f1: dhcp4: no bonds: bond0: dhcp4: no interfaces: [enp3s0f0, enp3s0f1] parameters: mode: 802.3ad mii-monitor-interval: 1 vlans: vlan10: id: 10 link: bond0 dhcp4: no addresses: [10.10.10.2/24] routes: - to: 10.10.10.2/24 via: 10.10.10.1 on-link: true vlan20: id: 20 link: bond0 dhcp4: no addresses: [10.10.11.2/24] gateway: 10.10.11.1 nameserver: addresses: [8.8.8.8] 

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

  • Настройка Linux
  • Системное администрирование
  • *nix
  • Сетевые технологии

Как настроить сеть в Ubuntu 18.04 LTS с помощью Netplan?

Netplan — это утилита для настройки сетевых интерфейсов в Linux, использующая файлы YAML. Формат файла конфигурации YAML очень прост. Он имеет ясный и простой для понимания синтаксис. Netplan работает с традиционными сетевыми системами Linux, systemd-networkd и Network Manager. С Netplan вы можете настроить сеть своих компьютеров с Ubuntu проще, чем когда-либо прежде.

Начиная с Ubuntu 18.04 LTS, Ubuntu по умолчанию использует Netplan для настройки сетевых интерфейсов.

В этой статье я покажу вам, как использовать Netplan в Ubuntu 18.04 LTS.

Файлы конфигурации Netplan:

В Ubuntu 18.04 LTS файлы конфигурации Netplan YAML размещаются в каталоге /etc/netplan/. Чтобы настроить сетевой интерфейс, вы должны создать или изменить необходимые файлы YAML в этом каталоге.

Файлы конфигурации YAML имеют расширение .yaml . Файл конфигурации Netplan YAML по умолчанию /etc/netplan/50-cloud-init.yaml используется для настройки сетевых интерфейсов с помощью Netplan.

Настройка сетевого интерфейса через DHCP с помощью Netplan:

В этом разделе я покажу вам, как настроить сетевой интерфейс через DHCP в Ubuntu с помощью Netplan.

Сначала найдите имя сетевого интерфейса, который вы хотите настроить, с помощью следующей команды:

Как видите, на моем компьютере с Ubuntu 18.04 LTS установлена одна сетевая карта (NIC) с именем ens33. Сейчас у него нет настроенного IP-адреса. Итак, давайте использовать Netplan для настройки через DHCP.

Чтобы настроить сетевой интерфейс ens33 через DHCP с помощью Netplan, откройте файл конфигурации Netplan по умолчанию в Ubuntu 18.04 LTS /etc/netplan/50-cloud-init.yaml со следующим команда:

$ sudo nano / etc / netplan / 50 -cloud-init.yaml

Вы должны увидеть следующее окно.

Теперь добавьте следующие строки в раздел network.

Здесь dhcp4: yes означает использование DHCP для протокола IPv4 для настройки сетевого интерфейса ens33.

ПРИМЕЧАНИЕ. Отступы очень полезны. Убедитесь, что вы делаете отступ каждой строки правильно. Это сделает синтаксис более понятным и удобным для глаз.

Наконец, файл конфигурации должен выглядеть примерно так.

Теперь нажмите + x, затем нажмите y, и затем , чтобы сохранить файл.

Преимущество Netplan в том, что перед тем, как применить изменения, вы можете убедиться, что в файле конфигурации нет опечаток или других ошибок, с помощью следующей команды:

$ sudo netplan try

Если все в порядке, вы должны увидеть сообщение Конфигурация принята, как показано на снимке экрана ниже.

Если есть какие-либо проблемы с файлом конфигурации, вы увидите здесь соответствующие сообщения об ошибках.

Эта функция, безусловно, поможет вам избежать сложных и трудно отслеживаемых будущих проблем с файлами конфигурации Netplan.

Наконец, примените изменения навсегда, используя Netplan с помощью следующей команды:

$ sudo netplan apply

Как видите, сетевой интерфейс ens33 настроен через DHCP.

Настройка статического IP-адреса с помощью Netplan:

Если вы хотите настроить статический IP-адрес на своем сетевом интерфейсе с помощью Netplan, то этот раздел для вас.

Вы можете вручную установить IP-адрес, сервер имен, шлюз и т. д. вашего сетевого интерфейса с помощью Netplan.

Допустим, вы хотите настроить сетевой интерфейс ens33 следующим образом:

Static IP address: 192.168.10.33
Subnet mask: 255.255.255.0
Gateway: 192.168.10.1
DNS server: 192.168.10.1

Сначала проверьте сетевую конфигурацию сетевого интерфейса ens33 с помощью следующей команды:

Это поможет вам убедиться, что настройки сетевого интерфейса действительно изменились.

Теперь отредактируйте файл конфигурации Netplan YAML, /etc/netplan/50-cloud-init.yaml, с помощью следующей команды:

$ sudo nano / etc / netplan / 50 -cloud-init.yaml

Если вы следовали за мной на протяжении всей статьи, то файл конфигурации должен быть таким. Теперь удалите линию, как показано на скриншоте ниже.

И введите строки, как показано на скриншоте ниже.

ПРИМЕЧАНИЕ. Помните, что отступы необходимы для файлов YAML. Если вы забудете сделать правильный отступ, Netplan не позволит вам применить файл конфигурации. Таким образом, вы должны сделать отступ на каждом шаге файла конфигурации YAML, как показано на снимке экрана ниже.

Теперь нажмите + x, затем нажмите y, а затем , чтобы сохранить файл.

Теперь проверьте, нет ли ошибок в файле конфигурации, с помощью следующей команды:

$ sudo netplan try

Как видите, файл конфигурации принят.

Наконец, примените файл конфигурации с помощью следующей команды:

$ sudo netplan apply

IP-адрес изменен, как и ожидалось.

Шлюз также настроен правильно.

Как и DNS-сервер.

Итак, вот как вы устанавливаете и используете Netplan в Ubuntu для настройки сетевых интерфейсов с использованием файлов YAML. Если вы хотите узнать больше о Netplan, посетите официальный сайт Netplan по адресу https://netplan.io.

Спасибо, что прочитали эту статью.

Все права защищены. © Linux-Console.net • 2019-2023

Как настроить сеть в Ubuntu 18.04

В статье мы расскажем, как выполняется настройка сети в операционной системе Ubuntu Server 18.04 при помощи Netplan.

Что такое Netplan

Netplan — это утилита для конфигурации сети. Настройка сети через Netplan выполняется в конфигурационном файле, который находится в папке /etc/netplan/. Это текстовый файл с расширением .yaml.

YAML — это формат данных с простым синтаксисом. YAML использует систему отступов, в качестве которых выступают пробелы. При создании и редактировании конфигурационного файла такого формата легко ошибиться — указать неверное количество пробелов. Из-за этого возникнет ошибка “expected mapping” и файл будет невозможно прочитать.

Чтобы найти строку, в которой была допущена ошибка, можно использовать онлайн-валидатор YAML:

В более ранних версиях Ubuntu для настройки сети использовался пакет ifupdown с конфигурационным файлом /etc/network/interfaces. Начиная с Ubuntu версии 18.04 по умолчанию для настройки используется утилита Netplan.

Настроить сеть Ubuntu 18.04 можно при помощи графического интерфейса, однако он не всегда бывает доступен. Поэтому рассмотрим, как выполняется настройка сети в консоли.

Как открыть конфигурационный файл Netplan

1. Сначала узнаем название конфигурационного файла. Для этого через консоль введите команду:

ls -la /etc/netplan/

Команда выведет на экран список файлов, которые находятся в директории /etc/netplan/. В директории будет один файл, который и является конфигурационным:

2. Откройте этот файл при помощи команды:

sudo nano /etc/netplan/config.yaml

Вместо config введите имя файла конфигурации. На экране появится текстовый редактор:

Включить сетевой интерфейс

Примеры настройки конфигурационного файла Netplan

Содержимое файла в дистрибутиве Ubuntu 18.04 по умолчанию:

network:
version: 2
renderer: NetworkManager

Рассмотрим, что означают эти параметры:

  • network — начало конфигурационного блока,
  • version: 2 — версия YAML,
  • renderer: NetworkManager — программа с графическим интерфейсом, которой передаётся управление сетью. Кроме NetworkManager существует systemd-networkd, которая выполняет те же функции, но не имеет графической оболочки.

Такая конфигурация Netplan позволяет передать управление сетью программе NetworkManager.

Обратите внимание: вложенные параметры (2 и 3 строки) имеют отступы в 2 пробела. Лишний пробел приведёт к ошибке.

Как настроить динамический адрес

Разберём другой пример, в котором устройство будет получать IP-адрес автоматически через DHCP:

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true

  • renderer: networkd — демон, управляющий сетью вместо NetworkManager,
  • ethernets: — указывает, что конфигурируем интерфейс Ethernet,
  • enp0s3: — название конфигурируемого адаптера,
  • dhcp4: true — используемый DHCP-протокол для получения IP-адреса.

Обратите внимание! Название адаптера сети (в примере это enp0s3) на вашем веб-сервере или компьютере может быть другим. Чтобы узнать его, введите:

Используйте название, которое будет указано в выводе команды:

Ubuntu сетевые интерфейсы

Как настроить DNS

Чтобы вручную указать DNS-серверы, пропишите:

network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
nameservers:
addresses: [8.8.8.8, 8.8.4.4]

  • nameservers: — начало блока с настройками DNS,
  • addresses: [8.8.8.8, 8.8.4.4] — IP-адрес DNS-серверов.

Как применить настройки Netplan

Общий вид команды netplan:

netplan опции команда

Netplan позволяет проверить корректность конфигурации перед применением. Для этого введите команду:

sudo netplan try

Если с новой конфигурацией в Ubuntu сеть перестанет работать, через 2 минуты будут восстановлены предыдущие настройки и сетевые подключения восстановятся:

Чтобы применить настройки без проверки, введите команду:

sudo netplan apply

Чтобы увидеть подробную информацию об ошибках, запустите Netplan в режиме отладки:

sudo netplan -d generate

Возможные ошибки

При запуске команды Netplan вы можете столкнуться с ошибкой «netplan: fatal error: cannot bind to port 2983, is another daemon running?, exiting.”. Эта ошибка связана с тем, что на вашем компьютере или VDS не установлен пакет netplan.io. Чтобы исправить проблему, установите его при помощи команды:

sudo apt install netplan.io

Затем снова выполните команду, после которой возникала ошибка.

В Ubuntu сетевые настройки можно выполнить несколькими способами. В этой инструкции мы показали, как сделать базовую настройку сети.

Популярные статьи

  • Как указать (изменить) DNS-серверы для домена
  • Я зарегистрировал домен, что дальше
  • Как добавить запись типа A, AAAA, CNAME, MX, TXT, SRV для своего домена
  • Что такое редирект: виды и возможности настройки
  • Как создать почту со своим доменом

Netplan перейти на него с готовой конфигурации ifupdown

Добрый день! Установил Ubuntu Server 20.04. На сервер с двумя сетевыми интерфейсами, который будет гипервизором виртуальных машин KVM libvirt. Требуется написать конфигурацию для Netplan формата Yaml с двумя сетевыми мостами для работы виртуальных машин. Один интерфейс смотрит в локалку, другой интерфейс — в Интернет. Привожу конфигурацию ifupdown рабочего сервера с двумя интерфейсами и двумя бриджами. Сервер на Ubuntu 16.04, работает прекрасно, крутятся 8 виртуалок, чувствуют себя хорошо. Как это сделать на Netplan не могу вкурить. Может для кого-нибудь это будет не трудно? Заранее благодарен.

# This file describes the network interfaces available on your system #and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eno3 iface eno3 inet manual # The secondary network interface auto eno4 iface eno4 inet manual #Bridges auto br0 iface br0 inet static address 192.168.129.120 netmask 255.255.255.128 dns-nameservers 192.168.129.125 network 192.168.129.0 # gateway 192.168.129.1 bridge_ports eno3 auto br1 iface br1 inet static address 192.168.52.120 netmask 255.255.255.0 dns-nameservers 192.168.52.1 network 192.168.52.0 gateway 192.168.52.1 bridge_ports eno4 

tranq46
13.02.21 12:55:29 MSK

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *