Ubuntu je nevjerojatan operativni sustav, dugo nisam radio s Ubuntu serverom, a nije imalo smisla ažurirati svoj Desktop sa stabilne verzije. I tako sam se nedavno suočio s novim izdanjem Ubuntu servera 18.04, moje je iznenađenje bilo bezgranično kada sam shvatio da sam beskrajno zaostao i ne mogu postaviti mrežu, jer je stari poznati sustav postavljanja mrežnih sučelja putem uređivanja datoteke /etc/network/interfaces nestao u zaborav. A što ga je zamijenilo? Nešto strašno i na prvi pogled potpuno nejasno, predstavljamo "Netplan".
Iskreno, isprva nisam mogao shvatiti u čemu je stvar i "zašto je to potrebno, jer je sve bilo tako zgodno", ali nakon što sam stekao malo prakse, shvatio sam da ima svoje čari. I tako, dosta lirike, nastavimo, što je zapravo Netplan, to je nova alatka za postavljanje mreže u Ubuntu, barem "u drugim distribucijama nisam naišao na nešto slično". Bitna razlika Netplana je da se konfiguracija piše na jeziku , da, da, niste pogriješili, YAML, programeri su odlučili ići s vremenom (i koliko god ga hvalili, ja ga ipak smatram strašnim jezikom). Osnovni nedostatak ovog jezika je što je vrlo osjetljiv na razmake, hajde da razmotrimo konfiguraciju na primjeru.
Datoteke s konfiguracijom nalaze se na putu /etc/netplan/ime_datoteke.yaml, između svakog bloka treba biti + 2 razmaka.
1) Standardni header izgleda ovako:
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
dhcp4:noHajde da pogledamo što smo trenutno učinili:
- network: — ovo je blok početka konfiguracije.
- renderer: networkd — ovdje navodimo mrežnog upravitelja koji ćemo koristiti, to je ili networkd ili NetworkManager
- version: 2 — ovdje, koliko sam shvatio, verzija YAML-a.
- ethernets: — ovaj blok govori da ćemo konfigurirati ethernet protokol.
- enp3s0f0: — navodimo koji mrežni adapter konfiguriramo.
- dhcp4:no — isključujemo DHCP v4, za 6 v6 dhcp6 odgovarajuće
2) Pokušajmo dodijeliti IP adrese:
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.8Ovdje smo postavili MAC, IPv4, gateway i DNS poslužitelj. Napominjem da, ako nam treba više od jedne IP adrese, pišemo ih zarezom s obaveznim razmakom nakon.
3) A što ako nam treba ?
bonds:
bond0:
dhcp4: no
interfaces: [enp3s0f0, enp3s0f1]
parameters:
mode: 802.3ad
mii-monitor-interval: 1- bonds: — blok koji objašnjava što ćemo konfigurirati za bonding.
- bond0: — proizvoljno ime sučelja.
- interfaces: — skup sučelja koja se skupljaju u bonding, »kao što je prethodno navedeno, ako ima više parametara, opisujemo ih u kvadratnim zagradama".
- parameters: — opisujemo blok za konfiguraciju parametara.
- mode: — navodimo način na koji će raditi bonding.
- mii-monitor-interval: — postavljamo interval nadzora na 1 sekundu.
Unutar bloka s imenom bond-a također se mogu konfigurirati takvi parametri kao što su addresses, gateway4, routes itd.
Dodali smo rezervaciju za našu mrežu, sada je preostalo samo postaviti i konfiguraciju možemo smatrati dovršenom.
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: — objavljujemo blok za konfiguraciju vlan.
- vlan10: — proizvoljno ime vlan sučelja.
- id: — oznaka našeg vlana.
- link: — sučelje preko kojeg će vlan biti dostupan.
- routes: — objavljujemo blok za opis ruta.
- — to: — postavljamo adresu/podmrežu do koje je potrebna ruta.
- via: — navodimo gateway preko kojeg će biti dostupna naša podmreža.
- on-link: — navodimo da se rute uvijek postavljaju prilikom dizanja veze.
Obratite pažnju na to kako postavljam razmake, u jeziku YAML to je vrlo važno.
Ovdje smo opisali mrežna sučelja, stvorili bonding i čak dodali vlane. Primijenimo naš konfiguracijski fajl, naredba netplan apply provjerit će naš konfiguracijski fajl na greške i primijenit će ga u slučaju uspjeha. Nakon toga, konfiguracija će se sama podizati prilikom ponovnog pokretanja sustava.
Sastavivši sve prethodne blokove koda, evo što smo dobili:
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 mreža je spremna za korištenje, nije bilo tako strašno kao što je u početku izgledalo a kod je ispao vrlo lijep i čitljiv. P.S. Hvala što ste o netplan-u napisali izvrstan priručnik na linku. .
Izvor: habr.com
