Netplan és hogyan készítsük el helyesen

Az Ubuntu egy lenyűgöző operációs rendszer, régen nem dolgoztam az Ubuntu szerverrel, és nem volt értelme frissíteni a stabil verziót a Desktopon. Nemrég azonban találkoznom kellett az Ubuntu server 18.04 legújabb kiadásával, és elképesztően meglepődtem, amikor rájöttem, hogy végtelenül lemaradtam, és nem tudom beállítani a hálózatot, mert a régi, megbízható hálózati interfészek konfigurálásának módja a /etc/network/interfaces fájl szerkesztésével már elavult. Mi váltotta fel? Valami borzalmas és első pillantásra teljesen érthetetlen, üdvözöljük a „Netplan”-t.

Bevallom, őszintén, először nem értettem, mi a baj és „miért van szükség erre, hiszen minden olyan kényelmes volt”, de némi gyakorlás után rájöttem, hogy van benne valami vonzó. Tehát elég a lírából, folytassuk, mi is a Netplan? Ez egy új eszköz a hálózati beállításokhoz Ubuntu alatt, legalábbis „más disztribúciókban nem találkoztam hasonlóval”. A Netplan lényeges különbsége az, hogy a konfigurációt egy nyelven kell írni, YAML, igen, igen, nem hallottad félre, YAML, a fejlesztők úgy döntöttek, lépést tartanak az idővel (és bármit is dicsőítettek, én mégis borzalmas nyelvnek tartom). Ennek a nyelvnek a fő hátránya, hogy nagyon érzékeny a szóközökre, nézzük meg a konfigurációt egy példa segítségével.

A konfigurációs fájlok az /etc/netplan/ fájlneve.yaml úton találhatók, minden blokk között + 2 szóköz szükséges.

1) A standard fejléc így néz ki:

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

Nézzük meg, mit tettünk most:

  • network: — ez a konfigurációs blokk kezdete.
  • renderer: networkd — itt adja meg a használni kívánt hálózati menedzsert, ez lehet either networkd vagy NetworkManager.
  • version: 2 — itt, amennyire megértettem, a YAML verziója.
  • ethernets: — ez a blokk azt mondja, hogy ethernet protokollt akarunk konfigurálni.
  • enp3s0f0: — itt jelöljük meg, hogy melyik hálózati adaptert fogjuk konfigurálni.
  • dhcp4:no — a DHCP v4 letiltása, a 6 v6 dhcp6 megfelelően.

2) Próbáljuk meg hozzárendelni az IP-címeket:

    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

Itt megadtuk a MAC, IPv4, kaput és DNS szervert. Nézd, hogyha több IP-címre van szükség, akkor vesszővel és kötelező szóközzel kell őket megadni.

3) Mi van, ha bonding-ra van szükségünk? bonding?

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

  • bonding: — blokk, amely tisztázza, hogy a bonding beállításait fogjuk konfigurálni.
  • bond0: — tetszőleges interfész név.
  • interfaces: — a bondingba gyűjtött interfészek halmaza, »ahogyan korábban említettük, ha több paraméter van, akkor azokat zárójelben írjuk le".
  • parameters: — a paraméterek beállításának blokkja.
  • mode: — megadjuk a bonding működési módját.
  • mii-monitor-interval: — beállítjuk a monitorozási intervallumot 1 másodpercre.

A bond nevű blokkban további beállításokat is konfigurálhatunk, mint például addresses, gateway4, routes stb.

Biztosítást adtunk a hálózatunknak, most már csak a vlan beállítást kell befejezni.

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: — a vlan beállítási blokk deklarálása.
  • vlan10: — tetszőleges vlan interfész név.
  • id: — a vlan címkéje.
  • link: — az interfész, amelyen keresztül a vlan elérhető lesz.
  • routes: — a forgalmi útvonalak leírását deklaráló blokk.
  • — to: — megadjuk a címet/hálózatot, amelyhez az útvonal szükséges.
  • via: — megadjuk a gateway-t, amelyen keresztül elérhetjük a hálózatunkat.
  • on-link: — megadjuk, hogy az útvonalakat mindig rögzíteni kell, amikor a link feláll.

Figyeljen arra, hogyan helyezem el a szóközöket, a YAML nyelvben ez nagyon fontos.

Íme, leírtuk a hálózati interfészeket, létrehoztunk egy bondingot, és még vlan-t is hozzáadtunk. Most alkalmazzuk a konfigurációnkat, a netplan apply parancs ellenőrzi a konfigurációt hibákra, éssiker esetén alkalmazza azt. A konfiguráció automatikusan fel fog állni a rendszer újraindításakor.

Az összes előző kódrészlet összegzésével a következőt kaptuk:

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]
    

Itt van a hálózatunk, készen áll a használatra, nem volt olyan ijesztő, mint az elején tűnt, és a kód nagyon szép és olvasható lett. P.S. Köszönöm, hogy a netplanról egy nagyszerű útmutató található a linken. https://netplan.io/.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster