Netplani põhjalik juhend: Ubuntu võrgu seadistamine lihtsasti ja efektiivselt

1. Ülevaade Netplanist Ubuntus

Mis on Netplan?

Netplan on võrguhalduse tööriist, mis võeti kasutusele alates Ubuntu versioonist 17.10. Varem kasutati ifconfig-i või /etc/network/interfaces-i, kuid Netplan pakub neist uuema ja kaasaegsema lahenduse. Netplani peamine omadus on see, et võrguseaded kirjeldatakse YAML-failides. Tänu sellele saab konfiguratsioone teha lihtsalt ja ühtselt, ka keerulisemate võrkude puhul on haldus lihtne.

Netplan toetab erinevaid tagapõhjateenuseid, nagu NetworkManager ja systemd-networkd, ning seda kasutatakse nii Ubuntu töölaua- kui ka serveriversioonides. See võimaldab võrkude haldamist ühtsel moel erinevates keskkondades.

Miks kasutada Netplani?

Võrreldes traditsiooniliste võrgukonfiguratsiooni viisidega pakub Netplan järgmisi eeliseid.

  1. Lihtne süntaks: YAML-vorming on intuitiivne ja selge struktuuriga. Seadete loetavus on hea ning isegi algajatel on lihtne aru saada.
  2. Ühtne haldus: Saab kasutada nii töölaua- kui serverikeskkonnas, mis võimaldab erinevaid võrke keskelt juhtida.
  3. Dünaamilised muudatused: Faili muutmisel ja rakendamisel jõustuvad võrgu seadistused reaalajas.

Netplani põhistruktuur

Netplani seadistusfailid asuvad tavaliselt kataloogis /etc/netplan/ ning neil on laiend .yaml. Nendes failides määratletakse võrguliideste seaded, IP-aadressid, DNS-serverid ja muu oluline info.

Põhiline Netplani näidiskonfiguratsioon YAML-failina võib olla näiteks selline:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

Selles näites on Ethernet-liides enp3s0 seadistatud saama IP-aadressi DHCP kaudu.

Netplani roll Ubuntu 18.04 LTS-ist alates

Ubuntu 18.04 LTS-ist alates on Netplan vaikimisi paigaldatud ning seda kasutatakse laialdaselt nii serverites kui töölaual võrgu haldamiseks. Eriti serverites, kus on sageli vaja mitut võrguühendust või staatilisi IP-aadresse, tuleb Netplani kasutusmugavus hästi esile.

Järgmisena selgitame, kuidas seadistada võrku Netplaniga.

侍エンジニア塾

2. Netplani põhiline seadistamine

Netplani seadistusfailide asukoht

Netplani seadistusfailid asuvad tavaliselt kataloogis /etc/netplan/. Muutes seal olevaid .yaml faile, saab muuta võrgu seadistust. Näiteks on failinimi sageli 50-cloud-init.yaml, kuid see võib sõltuvalt süsteemist erineda.

Faili avamiseks kasuta tekstiredaktorit nagu vi või nano:

sudo vi /etc/netplan/50-cloud-init.yaml

Dünaamilise IP-aadressi (DHCP) seadistamine

Kui soovid, et IP-aadress määratakse automaatselt DHCP abil, kasuta järgmist näidet. See sobib kodu- ja kontorivõrkudes kõige sagedamini:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true

Staatilise IP-aadressi seadistamine

Mõnes keskkonnas (nt serverid) tuleb määrata püsivad IP-aadressid. Siin on näide staatilise IP-ga:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Seadistuse rakendamine

Pärast seadistusfaili muutmist rakenda muudatused käsuga:

sudo netplan apply

Seadistuse kontrollimine

Netplani seadistuste õigsuse kontrollimiseks vaata võrgu liideste olekut:

ip a

3. Mitme võrguliidese seadistamine

Mitme Ethernet-liidese seadistamine

Kui serveril või seadmel on mitu võrguliidest, saab igaühele määrata eraldi seaded ja IP-aadressid. Allolev näide näitab kahte erinevat Ethernet-liidest erinevate seadistustega:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
    enp4s0:
      addresses:
        - 192.168.1.150/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Liidestamine (bonding) – töökindluse tagamine

Võrguliideste koondamine üheks virtuaalseks liideseks (bonding) aitab suurendada töökindlust ja kättesaadavust. Näites on kaks liidest ühendatud üheks virtuaalseks bond0-ks:

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: active-backup
        primary: enp3s0

Wi-Fi ühenduse seadistamine

Netplaniga saab seadistada ka Wi-Fi võrke. Järgnev näide näitab ühendamist määratud SSID-ga:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      access-points:
        "my_wifi_network":
          password: "password1234"
      dhcp4: true

VLAN-i seadistamine

Mõnel juhul on vajalik võrgu loogiline jaotamine virtuaalvõrkudeks (VLAN). Netplan võimaldab ka VLAN-i seadistust. Allpool on näide enp3s0 liidesel loodud VLAN-iga:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan10:
      id: 10
      link: enp3s0
      addresses:
        - 192.168.10.1/24

 

4. Netplani edasijõudnud seadistused

Staatilise marsruudi seadistamine

Kui võrk ühendatakse mitme ruuteri kaudu, võib vaja minna staatilist marsruuti. Netplani abil saab määrata marsruute kindlatele IP-aadressidele või võrkudele. Näide:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: 10.0.0.0/24
          via: 192.168.1.1

Selles näites suunatakse võrguliides enp3s0 kaudu liiklus võrku 10.0.0.0/24 läbi vaikevärava 192.168.1.1.

Mitme vaikevärava seadistamine

Kui masinal on mitu võrguliidest, saab Netplaniga igale määrata erineva vaikevärava. Seda kasutatakse sageli olukordades, kus on vaja kasutada erinevaid võrgu segmente. Näide:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
    enp4s0:
      addresses:
        - 10.0.0.100/24
      gateway4: 10.0.0.1

DNS-serveri seadistamine

Netplanis saab hõlpsasti määrata ka DNS-servereid. Allolevas näites kasutatakse Google’i avalikke DNS-servereid (8.8.8.8 ja 8.8.4.4):

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Bondingu täpsemad seadistused

Lisaks varasemale saab bondingu puhul seadistada ka töörežiimi. Allpool on näide, kus kasutatakse round-robin meetodit:

network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces:
        - enp3s0
        - enp4s0
      addresses:
        - 192.168.1.200/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
      parameters:
        mode: balance-rr

balance-rr (round-robin) režiimis kasutatakse mõlemat liidest vaheldumisi, mis suurendab ribalaiust ja jõudlust. Muud režiimid hõlmavad näiteks active-backup (tõrketaluvus) või balance-tlb (koormuse tasakaalustamine).

VLAN-i edasijõudnud seadistused

VLAN (virtuaalne LAN) võimaldab jagada võrku loogilisteks segmentideks. Netplan võimaldab VLAN-e konfigureerida. Allpool on näide VLAN-liidesest vlan100:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: true
  vlans:
    vlan100:
      id: 100
      link: enp3s0
      addresses:
        - 192.168.100.1/24

Siin on enp3s0 liidesele määratud VLAN ID 100 ja IP-aadress 192.168.100.1, mis võimaldab jagada võrku ja piirata liiklust kindlatesse segmentidesse.

5. Netplani tõrkeotsing

Netplan teeb võrgu seadistamise lihtsaks, kuid seadete vead või süsteemipõhised iseärasused võivad põhjustada probleeme. Selles peatükis käsitleme tavalisemaid Netplani probleeme ja lahendusi, et võrguprobleeme kiirelt tuvastada ja lahendada.

Levinumad Netplani probleemid ja põhjused

1. Seadistusi ei rakendata

Vahel ei rakendu Netplani muudatused kohe või käsu käivitamisel ei toimu midagi. Võimalikud põhjused:

  • YAML-faili taande vead: YAML on väga tundlik taandele. Kui tabulaatorid ja tühikud on valesti, ei loeta faili korrektselt ning seadeid ei rakendata. Kontrolli alati taanded üle!
  • Vale liidese nimi: Netplanis tuleb määrata õige võrguliidese nimi. Käsuga ip a saab nimed üle kontrollida ning seadistusfailis õigeks muuta.

Lahendus

  1. Pärast faili salvestamist rakenda seadistused käsuga netplan apply.
  2. Kui ilmneb viga, kasuta sudo netplan try – see testib muudatusi 5 minuti jooksul ning taastab eelmise seisu, kui midagi on valesti.
sudo netplan apply
sudo netplan try

2. Võrguühenduse vead

Kui võrguühendust ei teki, võivad põhjused olla:

  • Vigane gateway või DNS-i seadistus: Vale vaikevärav või DNS-server takistab internetiühendust. Kontrolli, et IP-d ja DNS-id oleks õiged.
  • Füüsilise liidese rike: Kui kaabel pole korralikult ühendatud või seadmes on rike, ei teki ühendust ka õige seadistuse korral. Kontrolli füüsilist ühendust ja riistvara.

Lahendus

  1. Kasuta ping-käsku, et testida ühendust (nt Google DNS 8.8.8.8).
ping 8.8.8.8
  1. Kui failis on viga, käivita uuesti netplan apply ja proovi vajadusel võrgu teenus taaskäivitada.
sudo systemctl restart networkd

3. netplan apply annab veateate

Kui netplan apply käsul tuleb veateade, võib põhjus olla vales seadistusfailis või selles, et liidest ei tunta ära.

  • Veateate näide: Error in network configuration: failed to bring up device enp3s0

See viga ilmneb siis, kui enp3s0 pole õigesti tuvastatud. Kontrolli käsuga ip a liidese nime korrektsust.

Lahendus

Loe veateade hoolikalt läbi ning kontrolli, kas liidese nimed ja IP-aadressid on õiged, samuti YAML-faili süntaks ja taanded.

Logifailide kontroll

Tõrkeotsingul on väga abiks logid. Netplani seotud veateateid saab näha käsuga journalctl:

journalctl -u systemd-networkd

See näitab võrguteenuse logisid ja aitab leida probleemi põhjuse, et lahendused oleksid täpsed.

6. Netplani kokkuvõte ja järgmised sammud

Netplan muudab Ubuntu võrgu seadistamise väga lihtsaks ja tõhusaks. Selles peatükis võetakse kokku seni käsitletu ning antakse soovitusi, kuidas edasi õppida ja Netplani veelgi paremini kasutada.

Netplani peamised eelised

Netplaniga saab nautida mitmeid eeliseid võrreldes vanemate lahendustega.

  1. Intuitiivne YAML-vorming: Netplan kasutab selget ja lihtsalt loetavat YAML-formaati, mis muudab võrgukonfiguratsiooni lihtsaks ning vigade leidmise hõlpsaks.
  2. Paindlik võrgu ülesehitus: Mitme liidese, bondingu, staatiliste marsruutide ja VLAN-ide seadistamine on lihtne ning hästi loetav. Nii saab keerulisi võrke mugavalt hallata.
  3. Ühtne liides: Netplan töötab nii systemd-networkd kui NetworkManager taustateenustega, võimaldades ühetaolist haldust erinevates keskkondades.
  4. Seadete muutmine reaalajas: Netplani muudatused jõustuvad koheselt, minimeerides võrgu tööseisakuid.

Järgmised sammud

Pärast Netplani põhiteadmiste omandamist soovitame proovida järgmisi teemasid:

  1. Virtuaalvõrkude loomine: VLAN-ide kasutamine, et jagada võrku turvalisuse ja halduse eesmärgil – oluline eriti suurtes infrastruktuurides ja pilves.
  2. IPv6-toega seadistamine: Kuna IPv4 aadressid lõppevad, tasub varakult harjutada ka IPv6 seadistusi Netplanis.
  3. Automatiseerimisskriptid: Suurtes võrkudes saab Netplani seadistused skriptida ja ühendada näiteks Ansible’i või Puppetiga.
  4. Turvalisuse tugevdamine: Tasub õppida ka tulemüüri seadistamist, ligipääsu piiramist ja segmentatsiooni, et võrk oleks turvaline.

Lisalugemist ja ressursid

Netplani ametlik dokumentatsioon ning Ubuntu võrguteemalised juhendid ja foorumid on õppimiseks väga kasulikud. Mõned soovitatavad allikad: