Netplan és hogyan kell helyesen elkészíteni

Az Ubuntu egy csodálatos operációs rendszer, régóta nem dolgoztam Ubuntu szerverrel, és nem volt értelme frissíteni az asztalomat a stabil verzióról. Nem sokkal ezelőtt pedig az Ubuntu szerver legújabb, 18.04-es kiadásával kellett megküzdenem, meglepetésem nem ismert határokat, amikor rájöttem, hogy végtelenül le vagyok maradva a korral, és nem tudok hálózatot felállítani, mert a jó öreg rendszer a hálózati interfészek beállítására. az /etc/network fájl /interfaces szerkesztése a csatornába ment. És mi jött helyette? valami szörnyű és első pillantásra teljesen érthetetlen, találkozzon a „Netplannal”.

Hogy őszinte legyek, először nem értettem, hogy mi a baj, és "miért van erre szükség, mert minden olyan kényelmes volt", de kis gyakorlás után rájöttem, hogy ennek megvan a maga varázsa. És elég a szövegből, folytassuk azzal, hogy mi is az a Netplan, ez egy új segédprogram az Ubuntu hálózati beállításához, legalábbis „Más disztribúciókban még nem láttam ilyet.” A Netplan között lényeges különbség, hogy a konfiguráció a nyelven van megírva. YAML, igen, jól hallottad, a YAML, a fejlesztők úgy döntöttek, hogy lépést tartanak a korral (és bármennyire is dicsérik, szerintem még mindig borzasztó nyelv). Ennek a nyelvnek a fő hátránya, hogy nagyon érzékeny a szóközökre, nézzük a konfigurációt egy példán keresztül.

A konfigurációs fájlok az /etc/netplan/filename.yaml útvonalon találhatók, az egyes blokkok között + 2 szóköznek kell lennie.

1) A szabványos fejléc így néz ki:

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

Nézzük, mit csináltunk most:

  • hálózat: - ez a konfigurációs blokk kezdete.
  • renderer: networkd - itt jelezzük a használni kívánt hálózatkezelőt, ez vagy networkd vagy NetworkManager
  • verzió: 2 - itt, ha jól értem, itt a YAML verzió.
  • ethernets: - ez a blokk azt jelzi, hogy beállítjuk az ethernet protokollt.
  • enps0f0: — adja meg, hogy melyik hálózati adaptert fogjuk konfigurálni.
  • dhcp4:no - tiltsa le a DHCP v4-et, 6 v6 dhcp6 esetén

2) Próbáljunk meg IP-címeket rendelni:

    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 állítjuk be a poppy, ipv4, átjáró és dns szervert. Vegye figyelembe, hogy ha több IP-címre van szükségünk, akkor ezeket vesszővel elválasztva írjuk be, és utána egy kötelező szóközt.

3) Mi van, ha szükségünk van kötődés?

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

  • kötések: — egy blokk, amely elmagyarázza, hogy konfigurálni fogjuk a kötést.
  • bond0: - tetszőleges interfésznév.
  • interfészek: - egy kötésben összegyűjtött interfészek halmaza, „ahogyan korábban már említettük, ha több paraméter van, akkor szögletes zárójelben írjuk le őket.”
  • paraméterek: — írja le a paraméterbeállítási blokkot
  • mód: — adja meg a kötés működési módját.
  • mii-monitor-interval: — állítsa be a megfigyelési intervallumot 1 másodpercre.

A bond nevű blokkon belül olyan paramétereket is beállíthat, mint a címek, átjáró4, útvonalak stb.

Redundanciát adtunk a hálózatunkhoz, most már csak a telepítés van hátra wham és a beállítás befejezettnek tekinthető.

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: — deklarálja a vlan konfigurációs blokkot.
  • vlan10: — a vlan interfész tetszőleges neve.
  • id: — vlanunk címkéje.
  • link: — felület, amelyen keresztül a vlan elérhető lesz.
  • útvonalak: — deklaráljon egy útvonalleíró blokkot.
  • — to: — annak a címnek/alhálózatnak a beállítása, amelyhez az útvonal szükséges.
  • keresztül: — adja meg az átjárót, amelyen keresztül alhálózatunk elérhető lesz.
  • on-link: – jelezzük, hogy az útvonalakat mindig regisztrálni kell, amikor a kapcsolat fel van kapcsolva.

Ügyeljen arra, hogyan helyezem el a szóközöket; ez nagyon fontos a YAML-ben.

Így leírtuk a hálózati interfészeket, létrehoztuk a kötést, és még vlan-eket is hozzáadtunk. Alkalmazzuk a konfigurációnkat, a netplan apply parancs ellenőrzi a konfigurációnkat, és sikeresen végrehajtja, majd a rendszer újraindításakor a konfigurációt magától felállítja.

Az összes korábbi kódblokk összegyűjtése után 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]
    

Most a hálózatunk készen áll a működésre, minden nem olyan ijesztőnek bizonyult, mint amilyennek elsőre tűnt, és a kód nagyon szépnek és olvashatónak bizonyult. PC köszönöm a netplant, a linken van egy kiváló kézikönyv https://netplan.io/.

Forrás: will.com

Hozzászólás