Samouczek konfiguracji sieci NetPlan dla początkujących

Samouczek konfiguracji sieci NetPlan dla początkujących

Netplan to narzędzie opracowane przez Canonical, firmę stojącą za Ubuntu. Zapewnia abstrakcję konfiguracji sieci w stosunku do obecnie obsługiwanego dwóch „backend” (lub „renderer” w terminologii NetPlan): Networkd I NetworkManager. Korzystając z NetPlan, zarówno fizyczne, jak i wirtualne interfejsy sieciowe są skonfigurowane za pośrednictwem Yaml pliki, które są przetłumaczone na konfiguracje kompatybilne z wybranym backendem.

Na Ubuntu 20.04 NetPlan zastępuje tradycyjną metodę konfigurowania interfejsów sieciowych za pomocą /etc/sieci/interfejsy plik; Ma na celu ułatwienie sprawy i bardziej scentralizowanego (nadal można użyć starego sposobu konfigurowania interfejsów: Sprawdź nasz artykuł na temat zmiany sieci na/etc/sieci/interfejsów na Ubuntu 20.04 Focal Fossa Linux). W tym artykule poznamy podstawowe zasady narzędzia i, podobnie jak przykład, w jaki sposób możemy go użyć do skonfigurowania statycznego adresu IPv4 dla interfejsu sieciowego.

W tym samouczku się nauczysz:

  • Podstawowa struktura plików konfiguracyjnych YAML używanych przez NetPlan
  • Jak utworzyć prostą regułę, aby przypisać statyczny adres IP do interfejsu sieciowego
  • Jak zastosować konfiguracje za pomocą Generować, próbować I stosować Podkomendy
Samouczek konfiguracji sieci NetPlan dla początkujących

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Ubuntu 20.04 (Focal Fossa)
Oprogramowanie Netplan (domyślnie zainstalowany)
Inny Uprawnienia główne w celu modyfikacji plików konfiguracyjnych
Konwencje # - Wymaga, aby podane Linux -commands były wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$-wymaga wykonania Linux-commands jako zwykłego niewidzianego użytkownika

Pliki konfiguracyjne NetPlan

Istnieją trzy lokalizacje, w których można umieścić pliki konfiguracyjne NetPlan; W kolejności priorytetu są:

  1. /run/netplan
  2. /etc/netplan
  3. /lib/netplan
Przegląd projektu NetPlan

Wewnątrz każdego z tych katalogów konfiguracje są tworzone za pomocą plików z .Yaml rozszerzenie, które są przetwarzane w leksykograficzne zamówienie, niezależnie od katalogu, w którym się znajdują.

Priorytet katalogu odgrywa rolę tylko wtedy, gdy istnieją pliki o tej samej nazwie: w tych przypadkach tylko plik zawarty w katalogu o wyższym priorytecie jest analizowany.

Jeśli Boolean Lub skalarny Parametr jest zdefiniowany w więcej niż jednym pliku konfiguracyjnym, przyjmie wartość zdefiniowaną w ostatnim przeanalizowanym pliku; Jeśli wartości są sekwencje, Zamiast tego są połączone.

Użytkownicy powinni umieszczać swoje konfiguracje w /etc/netplan informator; Domyślnie jedyny plik obecny na świeżym zainstalowanym Ubuntu 20.04 System jest /etc/netplan/01-network-manager-all.Yaml. W następnej sekcji zobaczymy zawarte instrukcje i jakie jest ich znaczenie.

/Etc/netplan/01-sieci-manage-all.plik YAML

Jedyny istniejący plik konfiguracyjny /etc/netplan/ katalog na świeżym zainstalowanym Ubuntu 20.04 System jest 01-sieciowy-zarządzający-all.Yaml. Rzućmy okiem na jego treść:

# Niech NetworkManager Zarządzaj wszystkimi urządzeniami w tej sieci systemowej: Wersja: 2 Renderer: NetworkManager 

Jak sugerował komentarz w pliku, konfiguracja ma na celu ustawienie wszystkich interfejsów sieciowych w systemie, które mają być zarządzane przez NetworkManager renderer. Możemy zauważyć, że dyrektywy są wcięte w głównym węźle, sieć. Ponieważ mamy do czynienia z plikami YAML, wcięcie jest kluczowe.

Kolejne dwa słowa kluczowe, które możemy znaleźć w pliku wersja I renderer: Pierwszy określa używaną wersję składni, a drugi system Backend (Networkd vs NetworkManager).

W następnej sekcji tego samouczka utworzymy nieco bardziej złożony przykład konfiguracji i użyjemy go do przypisania statycznego adresu IPv4 do interfejsu sieciowego.

Przykład konfiguracji - Ustawienie statycznego adresu IPv4

Plik konfiguracyjny, który widzieliśmy powyżej, jest dość podstawowy; Spróbujmy czegoś bardziej złożonego i zobaczmy, jak możemy skonfigurować statyczny adres IPv4 za pomocą Netplan.

Pierwszą rzeczą, którą musimy zrobić, jest utworzenie nowego pliku konfiguracyjnego, aby zostać przeanalizowanym po domyślnym: nazwijmy to /etc/netplan/02-static-IP.Yaml. W pliku tworzymy regułę pasującą do interfejsu sieciowego, który chcemy skonfigurować: Możemy wykonać zadanie za pomocą mecz zwrotka.

W środku mecz Sekcja możemy wybrać serię fizycznych interfejsów na podstawie wartości określonych właściwości. Aby zastosować ustawienia, wszystkie właściwości muszą być dopasowane przez zasadę.

W pliku konfiguracyjnym piszemy:

# Ustaw statyczny adres IP dla ENP1S0 Sieć interfejsu: Wersja: 2 Renderer: NetworkManager Ethernets: ID0: MATH: Nazwa: ENP1S0 DHCP4: Adresy Fałsz: - 192.168.122.250/24 REIREVERS: Adresy: - 192.168.122.1 brama4: 192.168.122.1 

Spójrzmy bliżej nowych instrukcji, których użyliśmy w konfiguracji. Wewnątrz głównego sieć Węzeł, urządzenia można pogrupować według ich typu:

  • Ethernet
  • Wifis
  • mosty


Ponieważ w naszym przykładzie mamy do czynienia z urządzeniem Ethernet, którego użyliśmy Ethernet zwrotka. W środku mecz Stanza, odnieśliśmy się do interfejsu nazwa: ENP1S0. Reguły meczowe mogą być również oparte na Macaddress I tylko podczas korzystania z Networkd jako renderer, kierowca który jest nazwą sterownika jądra Linux używanego dla urządzenia.

Aby osiągnąć naszą pożądaną konfigurację, użyliśmy serii dyrektyw. Ponieważ chcemy przypisać adres statyczny, wyłączyliśmy DHCP4 i użył adresy Słowo kluczowe do powiązania adresu IPv4 z interfejsem. Można określić wielokrotny adres: MUSI być dostarczone wraz z maską podsieci.

Ustawiamy również adresy Nazwani w Stanza o tej samej nazwie. Na koniec ustawiamy adres IPv4 bramki, którego interfejs powinien używać z Gateway4 Słowo kluczowe.

Uproszczenie konfiguracji

Konfiguracja, której użyliśmy w powyższym przykładzie, można nieco uprościć. Aby odwołać się do interfejsu, chcemy przypisać adres statyczny do użycia mecz Stanza jednak moglibyśmy to pominąć. Ponieważ chcemy, aby nasze ustawienia były stosowane tylko do jednego konkretnego urządzenia, możemy bezpośrednio odwoływać się do niego za pomocą jego przewidywalnej nazwy (ENP1S0) Jak ID:

Sieć: Wersja: 2 Renderer: NetworkManager Ethernets: ENP1S0: DHCP4: Fałszywe adresy: - 192.168.122.250/24 REIREVERS: Adresy: - 192.168.122.1 brama4: 192.168.122.1 

Kiedy mecz Stanza jest używana, ID (ID0 W poprzednim przykładzie) jest dowolny i jest używany do odwołania się do skonfigurowanych urządzeń z innych sekcji pliku konfiguracyjnego. Kiedy mecz Stanza jest pominięta ID musi odpowiadać przewidywalnej nazwie urządzenia. Podczas pracy z urządzeniami wirtualnymi, takimi jak mosty lub obligacje, ID nie jest używany do odwołania się do istniejącego interfejsu, ale reprezentuje nazwę, której należy użyć po tworzeniu interfejsu.

W tym momencie nasza konfiguracja jest gotowa; Wszystko, co powinniśmy zrobić, to zapisać i przetestować.

Testowanie i stosowanie konfiguracji NetPlan

W poprzedniej sekcji widzieliśmy, jak utworzyć prostą konfigurację NetPlan, aby zapewnić statyczny adres IPv4 dla interfejsu sieciowego. Teraz nadszedł czas, aby przetestować konfigurację, aby sprawdzić, czy działa poprawnie. Aby osiągnąć nasz cel, możemy użyć Netplan użyteczność i próbować Podkomenda.

próbować Podkomenda Netplan narzędzie, jak sugeruje jego nazwa, służy do wypróbowania konfiguracji i opcjonalnie cofanie go, jeśli użytkownik nie potwierdzi go po określonym czasie. Domyślny limit czasu jest z 120 sekundy, ale można to zmienić za pomocą --koniec czasu opcja.

Jak widać z wyjścia adres IP polecenie, bieżący adres IPv4 dla ENP1S0 interfejs jest 192.168.122.200:

$ IP Adres | GREP ENP1S0 2: ENP1S0: MTU 1500 QDISC FQ_CODEL STANE GROPA Domyślnie QLen 1000 INET 192.168.122.200/24 ​​BRD 192.168.122.255 Zakres Globalny dynamiczny noprefixroute ENP1S0 

Zastosujmy konfigurację:

$ sudo netplan spróbuj 

Po uruchomieniu polecenia na ekranie pojawia się następujący monit:

Czy chcesz zachować te ustawienia? Naciśnij Enter przed limitem czasu, aby zaakceptować nowe zmiany konfiguracji powrócą w ciągu 120 sekund 

Mamy wystarczająco dużo czasu na bardzo, jeśli zmienił się adres IP interfejsu:

$ IP Adres | GREP ENP1S0 2: ENP1S0: MTU 1500 QDISC FQ_CODEL STANE GROPA Domyślnie QLen 1000 INET 192.168.122.250/24 BRD 192.168.122.255 Zakres Globalny dynamiczny noprefixroute ENP1S0 


Jak widzimy, adres IPv4 zmienił się zgodnie z oczekiwaniami. W takim przypadku jednak po wygaśnięciu limitu czasu polecenie nie powróciło do konfiguracji. Jest to znany problem, zgłoszony również na stronie użyteczności. W takich przypadkach, aby w pełni powrócić do stanu początkowego, ponowne uruchomienie powinno wystarczyć.

Można użyć dwóch innych poleceń:

  • Netplan generuje
  • Netplan Zastosuj

Netplan generuje Polecenie konwertuje ustawienia w plikach YAML na konfiguracje odpowiednie dla używanego renderera, ale ich nie stosuje. W zdecydowanej większości przypadków nie ma być wywoływana bezpośrednio: jest powołuje się na przykład przez Netplan Zastosuj co dodatkowo stosuje zmiany bez limitu czasu „przywracają”.

Wnioski

W tym samouczku zbliżyliśmy się do Netplan, użyteczności opracowanej przez Canonical, który jest domyślnie aktywny na Ubuntu 20.04 Focal Fossa. Celem tego narzędzia jest abstrakcyjne konfiguracje interfejsów sieciowych za pomocą plików konfiguracyjnych YAML.

Konfiguracje te są następnie tłumaczone na konfiguracje dla określonego renderera, takie jak NetworkManager lub NetworkD. W tym samouczku widzieliśmy, jak napisać prostą regułę, aby ustawić statyczny adres IP dla interfejsu sieci Netplan spróbuj I Netplan Zastosuj polecenia. Tutaj ledwo zarysowaliśmy powierzchnię tego, co można osiągnąć za pomocą Netplan, jeśli chcesz dowiedzieć się o tym więcej, spójrz na stronę internetową NetPlan, a także na ManPage.

Powiązane samouczki Linux:

  • Jak zapobiegać sprawdzaniu łączności NetworkManager
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do YAML z przykładami
  • Mastering Bash Script Loops
  • Jak korzystać z połączonej sieci z Libvirt i KVM
  • Ubuntu 20.04 sztuczki i rzeczy, których możesz nie wiedzieć
  • Wybór dodatku do sieci Kubernetes
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux