Нетплан и како га правилно припремити

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

Признаться честно, сначала я не мог понять в чем дело и »зачем это нужно, ведь все было так удобно", но получив немного практики понял что в нем есть свой шарм. И так хватит лирики продолжим, что же такое Netplan это новая утилита для настройки сети в Ubuntu, по крайне мере «в других дистрибутивах я не встречал подобного». Существенной отличие Netplan является то что конфигурация пишется на языке Иамл, да, добро сте чули ИАМЛ, програмери су одлучили да иду у корак са временом (и колико год га хвалили, ја и даље мислим да је то ужасан језик). Главни недостатак овог језика је што је веома осетљив на размаке, погледајмо конфигурацију користећи пример.

Конфигурационе датотеке се налазе дуж путање /етц/нетплан/филенаме.иамл, између сваког блока треба да буде + 2 размака.

1) Стандардно заглавље изгледа овако:

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

Погледајмо шта смо сада урадили:

  • мрежа: - ово је почетак конфигурационог блока.
  • рендерер: нетворкд - овде указујемо на менаџер мреже који ћемо користити, ово је или умрежени или НетворкМанагер
  • верзија: 2 - овде је, колико сам разумео, ИАМЛ верзија.
  • етхернетс: - овај блок означава да ћемо конфигурисати етернет протокол.
  • енпс0ф0: — назначите који мрежни адаптер ћемо конфигурисати.
  • дхцп4:не - онемогући ДХЦП в4, за 6 в6 дхцп6 респективно

2) Покушајмо да доделимо ИП адресе:

    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

Овде постављамо мак, ипв4, гатеваи и днс сервер. Имајте на уму да ако нам треба више од једне ИП адресе, онда их пишемо одвојене зарезима са обавезним размаком после.

3) Шта ако нам затреба везивање?

  bonds:
    bond0:
      dhcp4: no
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1

  • бондс: - блок који објашњава да ћемо конфигурисати повезивање.
  • бонд0: - произвољно име интерфејса.
  • интерфејси: - скуп интерфејса прикупљених у бонд-дингу, „као што је раније речено, ако постоји неколико параметара, описујемо их у угластим заградама.“
  • параметри: — описати блок подешавања параметара
  • режим: — одредите начин на који ће повезивање радити.
  • мии-монитор-интервал: — подесите интервал надгледања на 1 секунду.

Унутар блока који се зове веза, такође можете да конфигуришете параметре као што су адресе, гатеваи4, руте, итд.

Додали смо редундантност за нашу мрежу, сада остаје само да се инсталира влан а подешавање се може сматрати завршеним.

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

  • вланс: — прогласити блок конфигурације влан-а.
  • влан10: — произвољно име влан интерфејса.
  • ид: — ознака нашег влана.
  • линк: — интерфејс преко кога ће влан бити доступан.
  • руте: — декларисати блок описа руте.
  • — за: — подесите адресу/подмрежу до које је потребна рута.
  • виа: — одредите гејтвеј преко кога ће наша подмрежа бити доступна.
  • он-линк: — указујемо да руте увек треба да буду регистроване када се линк подигне.

Обратите пажњу на то како постављам размаке; ово је веома важно у ИАМЛ-у.

Тако смо описали мрежне интерфејсе, направили повезивање, па чак и додали влан-ове. Хајде да применимо нашу конфигурацију, команда нетплан аппли ће проверити нашу конфигурацију да ли има грешака и примениће је ако успе. Следеће, конфигурација ће бити подигнута сама када се систем поново покрене.

Након што смо прикупили све претходне блокове кода, добили смо ово:

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
  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]
    

Сада је наша мрежа спремна за рад, испоставило се да све није тако страшно као што се у почетку чинило и код се показао веома лепим и читљивим. ПЦ хвала на нетплану, на линку је одличан приручник https://netplan.io/.

Извор: ввв.хабр.цом

Купите поуздан хостинг за сајтове са ДДоС заштитом, ВПС ВДС сервере 🔥 Купите поуздан веб хостинг са DDoS заштитом, VPS VDS сервере | ProHoster