Настройка сети через Netplan в Ubuntu 17.10 и выше

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

Эта команда проверит наш конфиг на наличие ошибок и применит его в случае успеха. Далее конфиг будет сам подниматься при перезагрузке системы.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделиться с друзьями:
Comments: 1
  1. Легус

    ‘dhcp4:no — отключаем DHCP v4, для 6 v6 dhcp6 соответственно’

    :!: В примере, как настроить DHCP у Вас dhcp4: true
    Дальше Вы пишите «Давайте рассмотрим что мы сейчас сделали:»
    логичнее было бы пояснить:
    dhcp4: true — включаем DHCP v4, для 6 v6 dhcp6 соответственно
    Это я написал, что бы читатель не запутался, ведь не каждый новичок догадается. ;-)

    Автору спасибо! Кое что мне отсюда пригодилось.

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

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