Netplan und wie man es richtig einrichtet

Ubuntu ist ein erstaunliches Betriebssystem. Ich habe lange nicht mehr mit Ubuntu Server gearbeitet, und es hatte keinen Sinn, mein Desktop von der stabilen Version zu aktualisieren. Vor kurzem musste ich mich jedoch mit der frischen Version von Ubuntu Server 18.04 auseinandersetzen. Zu meinem Erstaunen stellte ich fest, dass ich unendlich hinter der Zeit zurĂŒckgeblieben war und das Netzwerk nicht einrichten konnte, da das alte, bewĂ€hrte System zur Konfiguration von Netzwerk-Interfaces durch das Bearbeiten der Datei /etc/network/interfaces abgeschafft wurde. Was kam ihm denn zuvor? Etwas Schreckliches und auf den ersten Blick völlig UnverstĂ€ndliches, begrĂŒĂŸt „Netplan“.

Um ehrlich zu sein, konnte ich zuerst den Sinn und Zweck nicht nachvollziehen, denn "alles war so bequem", aber nachdem ich ein wenig praktische Erfahrung gesammelt hatte, erkannte ich, dass es seinen eigenen Reiz hat. Und genug der Lyrik, kommen wir zur Sache: Was ist Netplan? Es ist ein neues Tool zur Netzwerkkonfiguration in Ubuntu, zumindest habe ich „so etwas in anderen Distributionen nicht gesehen“. Ein wesentliches Merkmal von Netplan ist, dass die Konfiguration in der Sprache YAML, ja, ja, Sie haben richtig gehört: YAML. Die Entwickler haben beschlossen, mit der Zeit zu gehen (und so viel Lob, wie er auch erhĂ€lt, ich finde ihn trotzdem schrecklich). Der Hauptnachteil dieser Sprache ist, dass sie sehr empfindlich auf Leerzeichen reagiert. Lassen Sie uns das Konfigurationsbeispiel betrachten.

Die Konfigurationsdateien befinden sich unter /etc/netplan/dateiname.yaml. Zwischen jedem Block mĂŒssen 2 Leerzeichen sein.

1) Der Standardkopf sieht folgendermaßen aus:

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

Lassen Sie uns anschauen, was wir gerade gemacht haben:

  • network: — dies ist der Block, der die Konfiguration einleitet.
  • renderer: networkd — hier geben wir den Netzwerkmanager an, den wir verwenden möchten, entweder networkd oder NetworkManager.
  • version: 2 — hier verstehe ich die YAML-Version.
  • ethernets: — dieser Block sagt, dass wir das Ethernet-Protokoll konfigurieren.
  • enps0f0: — wir geben an, welchen Netzwerkadapter wir konfigurieren möchten.
  • dhcp4:no — wir deaktivieren DHCP v4; fĂŒr 6 v6 dhcp6 entsprechend.

2) Lassen Sie uns versuchen, IP-Adressen zuzuweisen:

    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

Hier haben wir MAC, IPv4, Gateway und DNS-Server festgelegt. Beachten Sie, dass, wenn wir mehr als eine IP-Adresse benötigen, wir diese durch ein Komma mit einem nachfolgenden Leerzeichen schreiben.

3) Und was ist, wenn wir Bonding?

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

  • bonds: — Block zur ErklĂ€rung, dass wir Bonding konfigurieren werden.
  • bond0: — beliebiger Name des Interfaces.
  • interfaces: — set von Interfaces, die zu einem Bond zusammengestellt werden, »wie zuvor besprochen, wenn es mehrere Parameter gibt, beschreiben wir sie in eckigen Klammern".
  • parameters: — Beschreibung des Konfigurationsblocks fĂŒr die Parameter.
  • mode: — wir geben an, nach welchem Modus das Bonding arbeiten soll.
  • mii-monitor-interval: — wir setzen das Überwachungsintervall auf 1 Sekunde.

Innerhalb des Blocks mit dem Namen des Bonds können auch Parameter wie addresses, gateway4, routes usw. konfiguriert werden.

Wir haben eine Redundanz fĂŒr unser Netzwerk hinzugefĂŒgt, jetzt mĂŒssen wir nur noch unterbringen. vlan und die Konfiguration kann als abgeschlossen angesehen werden.

vlans: 
    vlan10:
      id: 10
      link: bond0
      dhcp4: nein
      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: wahr

  • vlans: — wir deklarieren den Block fĂŒr die VLAN-Konfiguration.
  • vlan10: — beliebiger Name des VLAN-Interfaces.
  • id: — unser VLAN-Tag.
  • link: — das Interface, ĂŒber das das VLAN verfĂŒgbar sein wird.
  • routes: — wir deklarieren den Block zur Beschreibung von Routen.
  • — to: — wir geben die Adresse/Subnetz an, fĂŒr die eine Route erforderlich ist.
  • via: — wir geben das Gateway an, ĂŒber das unser Subnetz erreichbar sein wird.
  • on-link: — wir geben an, dass die Routen immer beim Hochfahren des Links eingetragen werden sollen.

Beachten Sie, wie ich die AbstÀnde setze, in der YAML-Sprache ist das sehr wichtig.

Hier haben wir die Netzwerkinterfaces beschrieben, Bonding erstellt und sogar VLANs hinzugefĂŒgt. Lassen Sie uns unsere Konfiguration anwenden, der Befehl netplan apply ĂŒberprĂŒft unsere Konfiguration auf Fehler und wendet sie im Erfolgsfall an. Danach wird die Konfiguration beim Neustart des Systems automatisch aktiviert.

Nachdem wir alle vorherigen Codeblöcke zusammengefĂŒhrt haben, ist das das Ergebnis:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0f0:
      dhcp4: nein
    ensp3s0f1:
      dhcp4: nein
  bonds:
    bond0:
      dhcp4: nein
      interfaces: [enp3s0f0, enp3s0f1]
      parameters: 
        mode: 802.3ad
        mii-monitor-interval: 1
  vlan10:
      id: 10
      link: bond0
      dhcp4: nein
      addresses: [10.10.10.2/24]
      routes:
        - to: 10.10.10.2/24
          via: 10.10.10.1
          on-link: wahr
  vlan20:
    id: 20
    link: bond0
    dhcp4: nein
    addresses: [10.10.11.2/24]
    gateway: 10.10.11.1
    nameserver:
      addresses: [8.8.8.8]
    

Hier ist unser Netzwerk bereit fĂŒr den Einsatz, es war gar nicht so schlimm, wie es am Anfang schien, und der Code ist sehr schön und lesbar. P.S. Danke, dass es ein großartiges Handbuch fĂŒr Netplan gibt unter dem Link. https://netplan.io/.

Quelle: habr.com

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster