Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Netplan

środa,

Netplan

Netplan to narzędzie do konfiguracji sieci w systemach opartych na Ubuntu, które wprowadzono, aby uprościć i ujednolicić zarządzanie konfiguracją sieciową. Netplan korzysta z plików konfiguracyjnych w formacie YAML, które są następnie przetwarzane i przekazywane do odpowiednich menedżerów sieciowych, takich jak systemd-networkd lub NetworkManager.

Korzyści z używania Netplan:

  • centralizacja konfiguracji – wszystkie ustawienia sieci są zebrane w jednym miejscu;
  • łatwość zarządzania – zmiany są proste do wprowadzenia i mogą być łatwo zastosowane lub wycofane;
  • automatyzacja – możliwość skryptowania i automatyzacji konfiguracji sieciowej w środowiskach chmurowych i serwerowych.

Podstawy

Pliki konfiguracyjne Netplan

Pliki konfiguracyjne Netplan znajdują się w katalogu /etc/netplan/. Najczęściej używane pliki to:

  • /etc/netplan/01-netcfg.yaml
  • /etc/netplan/50-cloud-init.yaml

Pliki 50-cloud-init.yaml01-netcfg.yaml służą do konfiguracji sieci za pomocą Netplan, ale ich przeznaczenie i sposób generowania różnią się, co pozwala na elastyczne zarządzanie siecią w różnych środowiskach. Plik 50-cloud-init.yaml jest generowany automatycznie i służy do początkowej konfiguracji sieci. Jest powszechnie używany w środowiskach chmurowych (AWS, Azure, GCP) do automatycznej konfiguracji sieci na podstawie metadanych dostarczonych przez dostawcę chmury. Do konfiguracji sieci na lokalnych serwerach i stacjach roboczych służy plik 01-netcfg.yaml, który jest tworzony ręcznie przez administratorów.

Podstawowe komendy Netplan

Zastosowanie konfiguracji

Po edycji pliku YAML, aby zastosować zmiany, użyj polecenia:

sudo netplan apply

Komenda netplan apply automatycznie stosuje zmiany w konfiguracji sieci bez konieczności ręcznego restartowania sieci. Przetwarza pliki YAML w /etc/netplan/, generuje odpowiednie pliki konfiguracyjne dla wybranego backendu (systemd-networkd lub NetworkManager) oraz stosuje zmiany poprzez ponowne uruchomienie odpowiednich usług sieciowych. Tylko w wyjątkowych przypadkach może być konieczne ręczne restartowanie usług sieciowych, jeśli zmiany nie zostaną poprawnie zastosowane lub jeśli wystąpią problemy.

Testowanie konfiguracji

Aby przetestować konfigurację przed jej zatwierdzeniem, użyj:

sudo netplan try

To polecenie pozwala na łatwe cofnięcie zmian w przypadku wystąpienia problemów.

Najprostszy przykład

Zastosowanie DHCP na wszystkich interfejsach sieciowych"

network:
  version: 2
  renderer: NetworkManager

Konfigurowanie interfejsu

Krok 1: Otwórz plik konfiguracyjny sieci

W Ubuntu 20.04 i nowszych konfiguracja sieci jest zarządzana przez netplan. Pliki konfiguracyjne netplan znajdują się w katalogu /etc/netplan/. Najczęściej używany plik konfiguracyjny to 01-netcfg.yaml.

Otwórz ten plik za pomocą edytora tekstu, np. nano:

sudo nano /etc/netplan/01-netcfg.yaml

Krok 2: Edytuj plik konfiguracyjny

Plik konfiguracyjny netplan jest zapisany w formacie YAML. Przykładowa konfiguracja statycznego adresu IP dla interfejsu eth0 może wyglądać następująco:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Jeżeli chcesz, aby interfejs korzystał z DHCP, możesz ustawić konfigurację tak:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: yes

Krok 3: Zapisz zmiany

Po dokonaniu odpowiednich zmian w pliku konfiguracyjnym zapisz plik i zamknij edytor. W nano możesz to zrobić naciskając Ctrl+O, a następnie Enter, aby zapisać, i Ctrl+X, aby wyjść z edytora.

Krok 4: Zastosuj konfigurację

Aby zastosować nową konfigurację sieci, użyj poniższego polecenia:

sudo netplan apply

Uwagi

Weryfikacja konfiguracji

Przed zastosowaniem konfiguracji, możesz sprawdzić poprawność pliku YAML za pomocą polecenia:

sudo netplan try

Kilka interfejsów

Jeśli masz więcej niż jeden interfejs sieciowy, możesz dodać je do pliku konfiguracyjnego. Na przykład:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
    eth1:
      dhcp4: yes

Edycja plików YAML dla Netplan

Podczas tworzenia plików YAML dla Netplan, należy przestrzegać kilku zasad, aby zapewnić poprawność składni i uniknąć błędów podczas parsowania pliku. Ich stosowanie pomoże w tworzeniu poprawnych plików YAML dla Netplan, co zapewni bezproblemową konfigurację i zarządzanie sieciami w Ubuntu.

Wcięcia

  • YAML używa wcięć do oznaczania poziomów hierarchii danych. Standardem jest używanie dwóch spacji na każdy poziom wcięcia.
  • Nigdy nie używaj tabulatorów – zawsze używaj spacji.

Struktura

  • Pliki YAML mają strukturę klucz-wartość, gdzie każdy klucz jest oddzielony od wartości dwukropkiem :.
  • Struktura pliku musi być logiczna i zgodna z hierarchią wymaganą przez Netplan.

Przykład poprawnej struktury

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: yes

Cudzysłowy

  • Wartości nie muszą być ujęte w cudzysłów, chyba że zawierają specjalne znaki lub spacje.
  • Jeśli używasz cudzysłowów, możesz stosować zarówno pojedyncze ', jak i podwójne ", ale muszą one być używane konsekwentnie.

Komentarze

Komentarze zaczynają się od znaku # i mogą być umieszczane na końcu linii lub na osobnej linii.

network:
  version: 2  # Wersja schematu Netplan
  ethernets:
    eth0:
      dhcp4: yes  # Włączenie DHCP dla IPv4

Listy

Listy są tworzone za pomocą myślnika - na początku każdego elementu listy.

nameservers:
  addresses:
    - 8.8.8.8
    - 8.8.4.4

Wielkość liter

  • Klucze są zazwyczaj pisane małymi literami.
  • Klucze są czułe na wielkość liter, więc dhcp4 jest innym kluczem niż DHCP4.

Złożony przykład

Poniżej znajdziesz przykładowy rozbudowany plik netcfg.yaml dla Netplan, zawierający różnorodne opcje konfiguracji sieci, takie jak statyczne adresy IP, VLAN, mosty sieciowe, oraz definiowanie DNS. W dalszej części każda sekcja została szczegółowo omówiona.

Plik 01-netcfg.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        search:
          - example.com
        addresses:
          - 8.8.8.8
          - 8.8.4.4
    eth1:
      dhcp4: yes

  vlans:
    vlan10:
      id: 10
      link: eth0
      addresses:
        - 192.168.10.1/24

  bridges:
    br0:
      dhcp4: no
      interfaces:
        - eth1
        - vlan10
      addresses:
        - 192.168.20.1/24
      parameters:
        stp: true
        forward-delay: 4
      nameservers:
        addresses:
          - 1.1.1.1
          - 1.0.0.1

Objaśnienie zastosowanych opcji

Sekcja network

  • version: 2 – wersja schematu pliku konfiguracyjnego Netplan, aktualnie używana wersja to 2;
  • renderer: networkd – określa, że Netplan będzie używać systemd-networkd do zarządzania sieciami, alternatywnie można użyć NetworkManager.

Sekcja ethernets

  • eth0: Konfiguracja dla interfejsu sieciowego eth0.
    • dhcp4: no – wyłącza DHCP dla IPv4;
    • addresses – lista statycznych adresów IP przypisanych do eth0,
      • 192.168.1.100/24 – statyczny adres IP z maską podsieci 255.255.255.0.
    • gateway4 – adres IP bramy domyślnej.
    • nameservers:
      • search – lista domen do przeszukiwania,
      • addresses – lista serwerów DNS,
        • 8.8.8.8 – serwer DNS Google,
        • 8.8.4.4 – alternatywny serwer DNS Google.
  • eth1 – konfiguracja dla interfejsu sieciowego eth1.
    • dhcp4: yes – włącza DHCP dla IPv4.

Sekcja vlans

  • vlan10: Konfiguracja dla VLAN o identyfikatorze 10.
    • id: 10 – identyfikator VLAN,
    • link: eth0 – interfejs fizyczny, z którym VLAN jest powiązany.
    • addresses:
      • 192.168.10.1/24 – statyczny adres IP dla VLAN 10.

Sekcja bridges

  • br0 – konfiguracja dla mostu sieciowego br0.
    • dhcp4: no – wyłącza DHCP dla IPv4.
    • interfaces – lista interfejsów sieciowych, które będą częścią mostu.
    • eth1 – interfejs fizyczny.
    • vlan10 – interfejs VLAN.
    • addresses:
    • 192.168.20.1/24 – statyczny adres IP dla mostu br0.
    • parameters:
    • stp: true – włącza protokół STP (Spanning Tree Protocol), który zapobiega pętlom w sieci.
    • forward-delay: 4 – określa opóźnienie przekazywania ramek w sekundach.
    • nameservers:
    • addresses – lista serwerów DNS.
      • 1.1.1.1 – serwer DNS Cloudflare.
      • 1.0.0.1 – alternatywny serwer DNS Cloudflare.

Artykuł: Życzenia świąteczne

Życzenia świąteczne

Artykuł: Konkurs z Języka Angielskiego Zawodowego

Konkurs z Języka Angielskiego Zawodowego

Artykuł: Testujemy kontroler ARGB

Testujemy kontroler ARGB

Artykuł: Olimpiada Zdrowia PCK

Olimpiada Zdrowia PCK

Artykuł: Zostań dawcą szpiku!

Zostań dawcą szpiku!

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły