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 , á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:noPoď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.8Tu 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 ?
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ť 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. .
Zdroj: habr.com
