Netplan und wie man es richtig vorbereitet

Ubuntu ist ein fantastisches Betriebssystem. Ich habe schon lange nicht mehr mit dem Ubuntu-Server gearbeitet und es hatte keinen Sinn, meinen Desktop von der stabilen Version zu aktualisieren. Und vor nicht allzu langer Zeit musste ich mich mit der neuesten Version des Ubuntu-Servers 18.04 auseinandersetzen. Meine Überraschung kannte keine Grenzen, als mir klar wurde, dass ich unendlich hinter der Zeit zurückgeblieben war und kein Netzwerk einrichten konnte, weil das gute alte System zum Einrichten von Netzwerkschnittstellen vorbei war Das Bearbeiten der /etc/network-Datei /interfaces ist sinnlos. Und was ist an seine Stelle getreten? etwas Schreckliches und auf den ersten Blick völlig Unverständliches, treffen Sie „Netplan“.

Um ehrlich zu sein, konnte ich zunächst nicht verstehen, was los war und „Warum ist das nötig, weil alles so praktisch war“, aber nach ein wenig Übung wurde mir klar, dass es seinen eigenen Charme hat. Und so genug der Texte, Machen wir weiter mit dem, was Netplan ist, das ist ein neues Dienstprogramm für Netzwerkeinstellungen in Ubuntu, zumindest „so etwas habe ich in anderen Distributionen noch nicht gesehen.“ Ein wesentlicher Unterschied zwischen Netplan besteht darin, dass die Konfiguration in der Sprache geschrieben ist YAML, ja, Sie haben richtig gehört, YAML, die Entwickler haben beschlossen, mit der Zeit zu gehen (und egal wie sehr sie es loben, ich denke immer noch, dass es eine schreckliche Sprache ist). Der Hauptnachteil dieser Sprache besteht darin, dass sie sehr empfindlich auf Leerzeichen reagiert. Schauen wir uns die Konfiguration anhand eines Beispiels an.

Die Konfigurationsdateien befinden sich entlang des Pfads /etc/netplan/filename.yaml, zwischen jedem Block sollten + 2 Leerzeichen stehen.

1) Der Standard-Header sieht so aus:

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

Schauen wir uns an, was wir jetzt gemacht haben:

  • Netzwerk: – Dies ist der Anfang des Konfigurationsblocks.
  • renderer: networkd – hier geben wir den Netzwerkmanager an, den wir verwenden werden, dies ist entweder networkd oder NetworkManager
  • Version: 2 – hier ist, soweit ich es verstehe, die YAML-Version.
  • Ethernets: – Dieser Block zeigt an, dass wir das Ethernet-Protokoll konfigurieren werden.
  • enps0f0: – Geben Sie an, welchen Netzwerkadapter wir konfigurieren werden.
  • dhcp4:no – deaktiviert DHCP v4 bzw. für 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 Poppy, IPv4, Gateway und DNS-Server ein. Beachten Sie: Wenn wir mehr als eine IP-Adresse benötigen, schreiben wir diese durch Kommas getrennt mit einem obligatorischen Leerzeichen dahinter.

3) Was ist, wenn wir es brauchen? Kleben?

  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: – beliebiger Schnittstellenname.
  • Schnittstellen: – eine Reihe von Schnittstellen, die in einem Bond-Ding zusammengefasst sind. „Wie bereits erwähnt, beschreiben wir, wenn es mehrere Parameter gibt, diese in eckigen Klammern.“
  • Parameter: — Beschreiben Sie den Parametereinstellungsblock
  • Modus: – Geben Sie den Modus an, in dem das Bonden funktioniert.
  • mii-monitor-interval: – Stellen Sie das Überwachungsintervall auf 1 Sekunde ein.

Innerhalb des Blocks namens Bond können Sie auch Parameter wie Adressen, Gateway4, Routen usw. konfigurieren.

Wir haben Redundanz für unser Netzwerk hinzugefügt, jetzt müssen wir nur noch installieren vlan und die Einrichtung 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: – Tag unseres VLAN.
  • Link: – Schnittstelle, über die auf das VLAN zugegriffen werden kann.
  • Routen: – Deklarieren Sie einen Routenbeschreibungsblock.
  • — um: — die Adresse/das Subnetz festzulegen, zu der die Route benötigt wird.
  • via: – Geben Sie das Gateway an, über das auf unser Subnetz zugegriffen werden kann.
  • on-link: – Wir geben an, dass Routen immer registriert werden sollten, wenn der Link erstellt wird.

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

Also haben wir die Netzwerkschnittstellen 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 bei Erfolg an. Als Nächstes wird die Konfiguration beim Neustart des Systems von selbst erhöht.

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

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]
    

Jetzt ist unser Netzwerk betriebsbereit, alles war nicht so beängstigend, wie es zunächst schien, und der Code erwies sich als sehr schön und lesbar. PC, vielen Dank für Netplan. Unter dem Link finden Sie ein hervorragendes Handbuch https://netplan.io/.

Source: habr.com

Kommentar hinzufügen