Netplan i jak go poprawnie przygotować

Ubuntu to niesamowity system operacyjny, dawno nie pracowałem z serwerem Ubuntu i nie było sensu aktualizować mojego Desktopa z wersji stabilnej. A nie tak dawno temu miałem do czynienia z najnowszą wersją serwera Ubuntu 18.04, moje zdziwienie nie miało granic, gdy zdałem sobie sprawę, że jestem nieskończenie do tyłu z duchem czasu i nie mogę założyć sieci, bo stary, dobry system konfigurowania interfejsów sieciowych firmy edytowanie pliku /etc/network /interfaces poszło na marne. A co go zastąpiło? coś okropnego i na pierwszy rzut oka zupełnie niezrozumiałego, poznajcie „Netplan”.

Szczerze mówiąc, na początku nie rozumiałem, o co chodzi i „po co to potrzebne, bo wszystko było takie wygodne”, ale po krótkiej praktyce zrozumiałem, że ma to swój urok. I tyle o tekstach, kontynuujmy to, czym jest Netplan, jest to nowe narzędzie do ustawień sieciowych w Ubuntu, przynajmniej „nie widziałem czegoś takiego w innych dystrybucjach.” Istotna różnica między Netplanem polega na tym, że konfiguracja jest napisana w języku YAM, tak, dobrze słyszałeś YAML, programiści postanowili iść z duchem czasu (i niezależnie od tego, jak bardzo go chwalą, nadal uważam, że to okropny język). Główną wadą tego języka jest to, że jest bardzo wrażliwy na spacje, spójrzmy na konfigurację na przykładzie.

Pliki konfiguracyjne znajdują się wzdłuż ścieżki /etc/netplan/filename.yaml, pomiędzy każdym blokiem powinny znajdować się +2 spacje.

1) Standardowy nagłówek wygląda następująco:

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

Spójrzmy, co już zrobiliśmy:

  • sieć: - jest to początek bloku konfiguracyjnego.
  • renderer: networkd - tutaj wskazujemy menedżera sieci, którego będziemy używać, jest to networkd lub NetworkManager
  • wersja: 2 - tutaj, jak rozumiem, jest wersja YAML.
  • ethernets: - ten blok wskazuje, że skonfigurujemy protokół Ethernet.
  • enps0f0: — wskaż, którą kartę sieciową skonfigurujemy.
  • dhcp4:no - wyłącz DHCP v4, odpowiednio dla 6 v6 dhcp6

2) Spróbujmy przypisać adresy IP:

    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

Tutaj ustawiamy mak, ipv4, bramę i serwer DNS. Pamiętaj, że jeśli potrzebujemy więcej niż jednego adresu IP, to zapisujemy je oddzielone przecinkami z obowiązkową spacją.

3) Co jeśli potrzebujemy klejenie?

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

  • bonds: - blok wyjaśniający, że skonfigurujemy wiązanie.
  • bond0: - dowolna nazwa interfejsu.
  • interfejsy: - zbiór interfejsów zebranych w bonding, „jak wspomniano wcześniej, jeśli jest kilka parametrów, opisujemy je w nawiasach kwadratowych”.
  • parametry: — opisuje blok ustawień parametrów
  • tryb: — określ tryb, w którym będzie działać wiązanie.
  • mii-monitor-interval: — ustaw interwał monitorowania na 1 sekundę.

Wewnątrz bloku o nazwie bond możesz także skonfigurować parametry takie jak adresy, bramka4, trasy itp.

Dodaliśmy redundancję dla naszej sieci, teraz pozostaje tylko instalacja Vlan i konfigurację można uznać za zakończoną.

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: — zadeklaruj blok konfiguracyjny vlan.
  • vlan10: — dowolna nazwa interfejsu VLAN.
  • id: — znacznik naszego vlanu.
  • link: — interfejs, przez który będzie dostępny vlan.
  • trasy: — zadeklaruj blok opisu trasy.
  • — aby: — ustawić adres/podsieć, do której potrzebna jest trasa.
  • via: — określ bramę, przez którą będzie dostępna nasza podsieć.
  • on-link: — wskazujemy, że w momencie podniesienia łącza należy zawsze rejestrować trasy.

Zwróć uwagę na to, jak umieszczam spacje; jest to bardzo ważne w YAML.

Opisaliśmy więc interfejsy sieciowe, stworzyliśmy powiązania, a nawet dodaliśmy vlany. Zastosujmy naszą konfigurację, polecenie netplan Apply sprawdzi naszą konfigurację pod kątem błędów i zastosuje ją, jeśli się powiedzie.Następnie konfiguracja zostanie automatycznie podniesiona po ponownym uruchomieniu systemu.

Po zebraniu wszystkich poprzednich bloków kodu otrzymaliśmy coś takiego:

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]
    

Teraz nasza sieć jest gotowa do działania, wszystko okazało się nie tak straszne, jak się początkowo wydawało, a kod okazał się bardzo piękny i czytelny. PC dziękuję za netplan, pod linkiem znajduje się doskonała instrukcja https://netplan.io/.

Źródło: www.habr.com

Dodaj komentarz