Netplan a ako ho správne pripraviť

Ubuntu je úžasný operačný systém, už dávno som nepracoval s Ubuntu server a nemalo zmysel aktualizovať svoj desktop na stabilnú verziu. A nedávno som sa musel stretnúť s čerstvým vydaním Ubuntu server 18.04, moje prekvapenie nemalo hraníc, keď som si uvedomil, že som nekonečne pozadu a nemôžem nastaviť sieť, pretože starý dobrý spôsob nastavenia sieťových rozhraní úpravou súboru /etc/network/interfaces sa pominul. A čo ho nahradilo? Niečo hrozné a na prvý pohľad úplne nepochopiteľné - vítajte „Netplan“.

Priznám sa, spočiatku som nechápal, o čo ide a „prečo je to potrebné, veď všetko bolo tak pohodlné“, ale po troch troch pokusoch som pochopil, že má svoj šarm. A tak dosť liriky, pokračujme, čo je vlastne Netplan - je to nová utilita na nastavenie siete v Ubuntu, aspoň „v iných distribúciách som nič podobné nestretol“. Podstatné rozlíšenie Netplanu je, že konfigurácia je písaná v jazyku YAML, áno áno, nepočuli ste zle - YAML, vývojári sa rozhodli držať krok s dobou (a nech by bol akokoľvek chválený, ja ho predsa len považujem za hrozný jazyk). Hlavná nevýhoda tohto jazyka spočíva v tom, že je veľmi citlivý na medzery, poďme sa pozrieť na konfiguráciu na príklade.

Konfiguračné súbory sa nachádzajú na ceste /etc/netplan/nazov_suboru.yaml, medzi každým blokom by malo byť + 2 medzery.

1) Štandardný hlavičkový blok vyzerá takto:

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

Poďme sa pozrieť, čo sme urobili:

  • network: — to je blok začiatku konfigurácie.
  • renderer: networkd — tu špecifikujeme sieťového správcu, ktorého chceme použiť, je to buď networkd alebo NetworkManager.
  • version: 2 — tu, ako som pochopil, je verzia YAML.
  • ethernets: — tento blok hovorí, že budeme konfigurovať ethernetový protokol.
  • enps0f0: — špecifikujeme, ktoré sieťové rozhranie chceme konfigurovať.
  • dhcp4:no — vypíname DHCP v4, pre v6 zodpovedá dhcp6.

2) Skúsime priradiť IP adresy:

    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

Tu sme nastavili MAC adresu, IPv4, bránu a DNS server. Všimnite si, že ak potrebujeme viac ako jednu IP adresu, píšeme ich cez čiarku s povinnou medzerou po.

3) A čo ak potrebujeme bonding?

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

  • bonds: — blok, ktorý vysvetľuje, čo budeme nastavovať na bonding.
  • bond0: — ľubovoľné meno rozhrania.
  • interfaces: — súbor rozhraní zhromaždených v bond-ingu, "ako sme spomínali skôr, ak je parametrov viac, popisujeme ich v zátvorkách".
  • parameters: — popisujeme blok nastavenia parametrov
  • mode: — uvádzame mód, podľa ktorého bude bonding fungovať.
  • mii-monitor-interval: — nastavíme interval monitorovania na 1 sekundu.

V bloku s menom bond-a je možné tiež konfigurovať také parametre ako addresses, gateway4, routes a podobne.

Pridali sme redundanciu pre našu sieť, teraz zostáva len pridať vlan a nastavenie je možné považovať za dokončené.

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: — vyhlasujeme blok nastavenia vlan.
  • vlan10: — ľubovoľné meno vlan rozhrania.
  • id: — tag našej vlan.
  • link: — rozhranie, cez ktoré bude vlan dostupná.
  • routes: — vyhlasujeme blok popisu trás.
  • — to: — nastavujeme adresu/podsieť, pre ktorú je potrebná trasa.
  • via: — uvádzame bránu, cez ktorú bude dostupná naša podsieť.
  • on-link: — uvádzame, že trasy sa vždy majú zapisovať pri spustení linku.

Všimnite si, ako rozmiestňujem medzery, v jazyku YAML je to veľmi dôležité.

Tu sme opísali sieťové rozhrania, vytvorili bonding a dokonca pridali vlan-y. Poďme aplikovať náš konfiguráciu, príkaz netplan apply skontroluje náš konfiguráciu na prítomnosť chýb a v prípade úspechu ju aplikuje. Následne sa konfigurácia sama spustí pri reštartovaní systému.

Zostavili sme všetky predchádzajúce bloky kódu, tu je to, čo sme dostali:

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]
    

Naša sieť je pripravená na používanie, všetko sa ukázalo byť oveľa jednoduchšie, než sa zdalo na začiatku, a kód vyzerá veľmi pekne a čitateľne. P.S. Ďakujem, že existuje skvelý manuál k netplan na odkaze. https://netplan.io/.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster