Netplan i jak go poprawnie przygotować

Ubuntu niesamowity system operacyjny, dawno z nim nie pracowałem Ubuntu Serwer i aktualizacja mojego pulpitu ze stabilnej wersji nie miały sensu. I tak niedawno musiałem się zmagać z zupełnie nową wersją. Ubuntu Na serwerze 18.04 byłem absolutnie zdumiony, gdy uświadomiłem sobie, że jestem daleko w tyle i nie mogę skonfigurować sieci, ponieważ stary, dobry system konfiguracji interfejsów sieciowych poprzez edycję pliku /etc/network/interfaces zniknął. A co go zastąpiło? Coś przerażającego 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 wszystko, przecież wszystko jest takie wygodne”, ale po krótkiej praktyce zrozumiałem, że ma to swój urok. Dość już tych lirycznych dywagacji, przejdźmy do tego, czym jest Netplan. To nowe narzędzie do konfiguracji sieci w… Ubuntu, przynajmniej „Nie spotkałem się z czymś podobnym w innych dystrybucjach”. Istotną różnicą w porównaniu z Netplan jest to, ż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

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster