Netplan och hur man förbereder den på rätt sätt

Ubuntu är ett fantastiskt operativsystem, jag har inte arbetat med Ubuntu-servern på länge och det var ingen idé att uppgradera mitt skrivbord från den stabila versionen. Och för inte så länge sedan var jag tvungen att ta itu med den senaste versionen av Ubuntu server 18.04, min förvåning visste inga gränser när jag insåg att jag var oändligt efter med tiden och inte kunde sätta upp ett nätverk eftersom det gamla goda systemet för att sätta upp nätverksgränssnitt av redigering av /etc/nätverksfilen /interfaces har gått ut i sjön. Och vad kom att ersätta den? något hemskt och vid första anblicken helt obegripligt, möta ”Netplan”.

För att vara ärlig kunde jag först inte förstå vad som var grejen och "varför behövs det här, för allt var så bekvämt", men efter lite träning insåg jag att det har sin egen charm. Och så nog med texterna, låt oss fortsätta med vad Netplan är, det här är ett nytt verktyg för nätverksinställningar i Ubuntu, åtminstone "Jag har inte sett något liknande i andra distributioner." En betydande skillnad mellan Netplan är att konfigurationen är skriven på språket YAML, ja, du hörde rätt YAML, utvecklarna bestämde sig för att hänga med i tiden (och hur mycket de än berömmer det, jag tycker fortfarande att det är ett fruktansvärt språk). Den största nackdelen med detta språk är att det är väldigt känsligt för mellanslag, låt oss titta på konfigurationen med ett exempel.

Konfigurationsfilerna finns längs sökvägen /etc/netplan/filename.yaml, mellan varje block ska det finnas +2 mellanslag.

1) Standardhuvudet ser ut så här:

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

Låt oss titta på vad vi har gjort nu:

  • nätverk: - detta är början på konfigurationsblocket.
  • renderer: networkd - här anger vi vilken nätverkshanterare vi kommer att använda, detta är antingen networkd eller NetworkManager
  • version: 2 - här, som jag förstår det, är YAML-versionen.
  • ethernets: - detta block indikerar att vi kommer att konfigurera ethernet-protokollet.
  • enps0f0: — ange vilket nätverkskort vi kommer att konfigurera.
  • dhcp4:nej - inaktivera DHCP v4, för 6 v6 dhcp6 respektive

2) Låt oss försöka tilldela IP-adresser:

    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

Här ställer vi in ​​poppy, ipv4, gateway och dns-server. Observera att om vi behöver mer än en IP-adress, så skriver vi dem separerade med kommatecken med ett obligatoriskt mellanslag efter.

3) Tänk om vi behöver bindning?

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

  • bonds: - ett block som förklarar att vi kommer att konfigurera bonding.
  • bond0: - godtyckligt gränssnittsnamn.
  • gränssnitt: - en uppsättning gränssnitt samlade i en bindning, "som nämnts tidigare, om det finns flera parametrar, beskriver vi dem inom hakparenteser."
  • parametrar: — beskriv parameterinställningsblocket
  • läge: — ange i vilket läge bindningen ska fungera.
  • mii-monitor-intervall: — ställ in övervakningsintervallet till 1 sekund.

Inuti blocket med namnet bond kan du också konfigurera parametrar som adresser, gateway4, rutter, etc.

Vi har lagt till redundans för vårt nätverk, nu återstår bara att installera vlan och installationen kan anses vara komplett.

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: — deklarera vlan-konfigurationsblocket.
  • vlan10: — godtyckligt namn på vlan-gränssnittet.
  • id: — tagg för vår vlan.
  • länk: — gränssnitt genom vilket vlan kommer att vara tillgängligt.
  • rutter: — deklarera ett vägbeskrivningsblock.
  • — för att: — ställa in adressen/delnätet som rutten behövs till.
  • via: — ange gatewayen genom vilken vårt undernät ska vara tillgängligt.
  • on-link: — vi anger att rutter alltid ska registreras när länken höjs.

Var uppmärksam på hur jag placerar utrymmen; detta är mycket viktigt i YAML.

Så vi beskrev nätverksgränssnitten, skapade bindning och till och med la vlans. Låt oss tillämpa vår config, kommandot netplan application kommer att kontrollera vår config för fel och tillämpa den om den lyckas. Därefter kommer config att höjas av sig själv när systemet startas om.

Efter att ha samlat alla tidigare kodblock, är det här vad vi fick:

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]
    

Nu är vårt nätverk redo för drift, allt visade sig inte vara så läskigt som det verkade först och koden visade sig vara väldigt vacker och läsbar. PC tack för netplan det finns en utmärkt manual på länken https://netplan.io/.

Källa: will.com

Lägg en kommentar