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

Убунту је невероватан оперативни систем, дуго нисам радио са Убунту сервером и није било смисла да надоградим радну површину са стабилне верзије. А не тако давно морао сам да се позабавим најновијим издањем Убунту сервера 18.04, мом изненађењу није било граница када сам схватио да сам бескрајно заостао за временом и да не могу да поставим мрежу јер је добар стари систем за подешавање мрежних интерфејса од уређивање /етц/нетворк датотеке /интерфацес је отишло у воду. А шта је дошло да га замени? нешто страшно и на први поглед потпуно несхватљиво, упознајте „Нетплан“.

Искрено, прво нисам могао да схватим шта је у питању и „зашто је ово потребно, јер је све било тако згодно“, али после мало вежбе сам схватио да то има своју чар. хајде да наставимо са оним што је Нетплан, ово је нови услужни програм за мрежна подешавања у Убунту-у, барем „Нисам видео ништа слично у другим дистрибуцијама.“ Значајна разлика између Нетплан-а је у томе што је конфигурација написана на језику Иамл, да, добро сте чули ИАМЛ, програмери су одлучили да иду у корак са временом (и колико год га хвалили, ја и даље мислим да је то ужасан језик). Главни недостатак овог језика је што је веома осетљив на размаке, погледајмо конфигурацију користећи пример.

Конфигурационе датотеке се налазе дуж путање /етц/нетплан/филенаме.иамл, између сваког блока треба да буде + 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/.

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

Додај коментар