Netplan ir kaip teisingai jį paruošti

Ubuntu Puiki operacinė sistema, seniai su ja nedirbau Ubuntu serverio, ir atnaujinti darbalaukio versiją iš stabilios nebuvo prasmės. O tada, ne taip seniai, turėjau susidurti su visiškai nauja versija. Ubuntu 18.04 serveryje buvau apstulbęs supratęs, kad smarkiai atsilieku nuo laiko ir negaliu konfigūruoti savo tinklo, nes sena gera tinklo sąsajų konfigūravimo sistema, redaguojant failą /etc/network/interfaces, išnyko. O kas ją pakeitė? Kažkas bauginančio ir iš pirmo žvilgsnio visiškai nesuprantamo – susipažinkite su „Netplan“.

Jei atvirai, iš pradžių negalėjau suprasti, kas tai per reikalas ir „kodėl to reikia, juk viskas taip patogu“, bet šiek tiek pasipraktikavę supratau, kad tai turi savo žavesio. Taigi, gana tų lyrinių kalbų, tęskime apie tai, kas yra „Netplan“. Tai nauja tinklo konfigūravimo programa... Ubuntu, bent jau „kituose platinimuose su niekuo panašiu nesusidūriau“. Svarbus skirtumas nuo „Netplan“ yra tas, kad konfigūracija parašyta kalba YAML, taip, gerai išgirdote YAML, kūrėjai nusprendė neatsilikti nuo laiko (ir kad ir kaip girtų, vis tiek manau, kad tai baisi kalba). Pagrindinis šios kalbos trūkumas yra tai, kad ji yra labai jautri tarpams, pažiūrėkime į konfigūraciją naudodami pavyzdį.

Konfigūracijos failai yra kelyje /etc/netplan/filename.yaml, tarp kiekvieno bloko turi būti + 2 tarpai.

1) Standartinė antraštė atrodo taip:

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

Pažiūrėkime, ką dabar padarėme:

  • tinklas: – tai konfigūracijos bloko pradžia.
  • renderer: networkd – čia nurodome tinklo tvarkyklę, kurią naudosime, tai yra networkd arba NetworkManager
  • versija: 2 - čia, kaip suprantu, yra YAML versija.
  • ethernets: - šis blokas rodo, kad mes sukonfigūruosime Ethernet protokolą.
  • enps0f0: — nurodykite, kurį tinklo adapterį sukonfigūruosime.
  • dhcp4:no – išjunkite DHCP v4, atitinkamai 6 v6 dhcp6

2) Pabandykime priskirti IP adresus:

    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

Čia mes nustatome poppy, ipv4, šliuzą ir dns serverį. Atkreipkite dėmesį, kad jei mums reikia daugiau nei vieno IP adreso, tada juos rašome atskiriant kableliais, o po jų paliekame privalomą tarpą.

3) Ką daryti, jei mums reikia klijavimas?

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

  • obligacijos: - blokas, paaiškinantis, kad sukonfigūruosime sujungimą.
  • bond0: - savavališkas sąsajos pavadinimas.
  • sąsajos: - sąsajų rinkinys, surinktas surišant, „kaip minėta anksčiau, jei yra keli parametrai, aprašome juos laužtiniuose skliaustuose“.
  • parametrai: — aprašomas parametrų nustatymų blokas
  • režimas: — nurodykite režimą, kuriuo veiks klijavimas.
  • mii-monitor-interval: — nustatykite stebėjimo intervalą į 1 sekundę.

Bloke pavadinimu bond taip pat galite konfigūruoti tokius parametrus kaip adresai, gateway4, maršrutai ir kt.

Pridėjome savo tinklo perteklių, dabar belieka įdiegti ir sąranka gali būti laikoma baigta.

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: — deklaruokite vlan konfigūracijos bloką.
  • vlan10: — savavališkas vlan sąsajos pavadinimas.
  • ID: - mūsų vlan žyma.
  • nuoroda: — sąsaja, per kurią bus pasiekiamas VLAN.
  • maršrutai: — paskelbti maršruto aprašymo bloką.
  • — į: — nustatyti adresą / potinklį, į kurį reikia maršruto.
  • per: — nurodykite šliuzą, per kurį bus pasiekiamas mūsų potinklis.
  • on-link: – nurodome, kad maršrutai visada turi būti registruojami, kai pakeliama nuoroda.

Atkreipkite dėmesį į tai, kaip aš dedu tarpus; tai labai svarbu YAML.

Taigi aprašėme tinklo sąsajas, sukūrėme ryšį ir netgi pridėjome vlan. Taikykime savo konfigūraciją, netplan apply komanda patikrins mūsų konfigūraciją, ar nėra klaidų, ir, jei pavyks, ją pritaikys. Toliau konfigūracija bus iškelta pati, kai sistema bus paleista iš naujo.

Surinkę visus ankstesnius kodo blokus, gavome štai ką:

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]
    

Dabar mūsų tinklas paruoštas darbui, viskas pasirodė ne taip baisu, kaip atrodė iš pradžių, o kodas pasirodė labai gražus ir skaitomas. PC ačiū už netplan, nuorodoje yra puikus vadovas https://netplan.io/.

Šaltinis: www.habr.com

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster