Netplan und wie man es richtig kocht

Ubuntu ist ein fantastisches Betriebssystem, es hat lange nicht mehr mit dem Ubuntu-Server zusammengearbeitet und das Aktualisieren Ihres Desktops von einer stabilen Version war nicht sinnvoll. Und vor nicht allzu langer Zeit musste ich auf eine neue Version von Ubuntu Server 18.04 stoßen. Meine Überraschung kannte keine Grenzen, als ich feststellte, dass ich dem Leben unterlegen war und das Netzwerk nicht konfigurieren konnte, weil das alte System zum Konfigurieren von Netzwerkschnittstellen mit den Tools zum Bearbeiten von / etc / network-Dateien / interfaces ist weg. Aber was hat sie ersetzt? etwas schreckliches und auf den ersten blick völlig unverständliches treffen netplan.

Ehrlich gesagt konnte ich zunächst nicht verstehen, was los war und "warum es notwendig war, weil alles so bequem war", aber nachdem ich ein wenig geübt hatte, wurde mir klar, dass es seinen eigenen Charme hat. Und so genug von den Texten werden wir fortfahren, was Netplan ist, ist ein neues Dienstprogramm Um das Netzwerk in Ubuntu zu konfigurieren, zumindest "in anderen Distributionen habe ich so etwas noch nicht gesehen". Der wesentliche Unterschied zwischen Netplan besteht darin, dass die Konfiguration in YAML geschrieben ist. Ja, Sie haben richtig von YAML gehört. Die Entwickler haben beschlossen, mit der Zeit Schritt zu halten (und wie viel Sie haben es nicht gepriesen, ich halte es immer noch für eine schreckliche Sprache. Das Haupt-Minus Diese Sprache ist sehr empfindlich gegenüber Leerzeichen. Schauen wir uns die Konfiguration anhand eines Beispiels an.

Die Konfigurationsdateien befinden sich im Pfad /etc/netplan/file.yaml zwischen den einzelnen Blöcken, wenn + 2 Leerzeichen vorhanden sein sollen.

1) Der Standardheader sieht folgendermaßen aus:

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

Schauen wir uns an, was wir gerade gemacht haben:

  • Netzwerk: ist der Beginn des Konfigurationsblocks.
  • renderer: networkd - hier geben wir den Netzwerkmanager an, den wir verwenden werden, entweder networkd oder NetworkManager
  • version: 2 - hier, wie ich es verstehe, die YAML-Version.
  • ethernets: - Dieser Block besagt, dass wir das Ethernet-Protokoll konfigurieren werden.
  • enps0f0: - Geben Sie an, welchen Netzwerkadapter wir konfigurieren möchten.
  • dhcp4: no - Deaktiviere DHCP v4 für jeweils 6 v6 dhcp6

2) Versuchen wir, 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 stellen wir den Mohn-, IPv4-, Gateway- und DNS-Server ein. Beachten Sie, dass wir, wenn wir mehr als eine IP-Adresse benötigen, diese durch Kommas getrennt mit einem obligatorischen Leerzeichen danach schreiben.

3) Was ist, wenn wir eine Bindung brauchen?

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

  • Bindungen: - Ein Block, der erklärt, dass wir die Bindung konfigurieren werden.
  • bond0: - ein beliebiger Schnittstellenname.
  • Schnittstellen: - eine Reihe von Schnittstellen, die in Verbindung gebracht wurden, wie zuvor vereinbart, wenn wir mehrere Parameter in eckigen Klammern beschreiben.
  • Parameter: - Beschreiben Sie den Parametereinstellungsblock
  • Modus: - Geben Sie den Modus an, in dem die Verbindung funktioniert.
  • mii-monitor-interval: - Stellen Sie das Überwachungsintervall auf 1 Sekunde ein.

Innerhalb eines Blocks mit dem Namen bond können Sie auch Parameter wie Adressen, Gateway4, Routen usw. konfigurieren.

Wir haben Redundanz für unser Netzwerk hinzugefügt, jetzt bleibt nur noch vlan hängen und die Konfiguration kann als abgeschlossen betrachtet werden.

 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: - Deklarieren Sie den vlan-Konfigurationsblock.
  • vlan10: - Beliebiger Name der vlan-Schnittstelle.
  • id: - das tag unseres vlan.
  • Link: - Die Schnittstelle, über die VLAN verfügbar sein wird.
  • Routen: - Wir deklarieren den Routenbeschreibungsblock.
  • - um: - die Adresse / das Subnetz festzulegen, zu der die Route benötigt wird.
  • via: - Geben Sie das Gateway an, über das unser Subnetz verfügbar sein wird.
  • On-Link: - Geben Sie an, dass beim Aufheben des Links immer Routen registriert werden müssen.

Achten Sie darauf, wie ich Leerzeichen platziere, in YAML ist das sehr wichtig.

Hier haben wir Netzwerkschnittstellen beschrieben, Bindungen erstellt und sogar vlan-s hinzugefügt. Wenden wir unsere Konfiguration an. Der Befehl netplan apply überprüft unsere Konfiguration auf Fehler und wendet sie bei Erfolg an. Als Nächstes steigt die Konfiguration selbst an, wenn das System neu gestartet wird.

Nachdem wir alle vorherigen Codeblöcke gesammelt haben, haben wir Folgendes:

 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] 

Hier ist unser Netzwerk und ist betriebsbereit, alles war nicht so beängstigend wie es am Anfang schien und der Code erwies sich als sehr schön und lesbar. PC danke für den netplan gibt es ein ausgezeichnetes Handbuch unter https://netplan.io/ .

Source: https://habr.com/ru/post/de448400/


All Articles