LEKCJA 5 - KONFIGURACJA SIECIOWA | NETPLAN

I. Konfiguracja Netplana

5-1

W systemie Ubuntu do sprawdzenia adresacji sieciowej używamy polecenia:

$ ip a

Na zrzucie ekranu zostały zaznaczone najważniejsze elementy:

  • błękitny – nazwa interfejsu sieciowego;
  • zielony – stan karty sieciowej (UP oznacza włączoną, DOWN oznacza wyłączoną);
  • niebieski – fizyczny adres MAC karty;
  • czerwony – adres IPv4;
  • pomarańczowy – adres rozgłoszeniowy (broadcast);
  • fioletowy – adres IPv6.
5-2

Konfiguracja interfejsów sieciowych w systemie Ubuntu 24.04 odbywa się za pomocą narzędzia Netplan. Jego pliki konfiguracyjne znajdują się w katalogu /etc/netplan, dlatego przechodzimy tam i sprawdzamy zawartość tego katalogu za pomocą poleceń:

$ cd /etc/netplan
$ ls -l

Widzimy, że znajduje się tam jeden plik o nazwie 50-cloud-init.yaml.

5-3

Przed rozpoczęciem edycji i konfiguracji wykonujemy kopię zapasową tego pliku, aby w razie błędu móc do niej powrócić. Do nazwy pliku dodajemy rozszerzenie .old:

$ sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.old
$ ls -l

Wyświetlamy zawartość katalogu i widzimy, że kopia została pomyślnie utworzona.

5-4

Teraz przechodzimy do edycji pliku konfiguracyjnego:

$ sudo nano /etc/netplan/50-cloud-init.yaml


Widzimy konfigurację dwóch kart sieciowych. Karta ens33 ma ustawioną automatyczną adresację DHCP, natomiast ens37 (zaznaczona na niebiesko) ma przypisaną konfigurację statyczną. 


Przeanalizujmy strukturę tej konfiguracji. Jak widzimy, plik posiada rozszerzenie YAML, co oznacza, że jego składnia jest niezwykle wrażliwa na odpowiednią liczbę spacji i strukturę wcięć. Część zaznaczoną na niebiesko pozostawiamy bez zmian. Z kolei sekcja zaznaczona na czerwono powinna znaleźć się wyłącznie na karcie, która posiada dostęp do sieci Internet. Gdybyśmy zdefiniowali te parametry na obu kartach jednocześnie, podczas zatwierdzania zmian netplan wyświetli ostrzeżenia i mogą pojawić się problemy z dostępem do Internetu. 


W naszym przypadku karta ens33 posiada dostęp do Internetu, dlatego część zaznaczoną na czerwono przepiszemy do jej sekcji (na razie możemy ją pozostawić w dotychczasowym miejscu, aby uniknąć pomyłek podczas przepisywania). 


Wyjaśnijmy znaczenie poszczególnych opcji konfiguracyjnych:

  • addresses – definiuje statyczny adres IP przypisany do danej karty sieciowej wraz z maską podsieci w zapisie CIDR (np. 192.168.10.10/24);
  • nameservers – sekcja odpowiedzialna za konfigurację serwerów DNS, w której definiujemy:
  1.  - addresses – adresy IP serwerów DNS (np. 8.8.8.8);
  2.  - search – lokalną domenę wyszukiwania (strefę wyszukiwania), ułatwiającą rozwiązywanie nazw lokalnych;
  • routes – sekcja określająca tablicę routingu, w której definiujemy bramę domyślną za pomocą parametrów:
  1.  - to: default
  2.  - via: 192.168.10.10 (adres IP bramy domyślnej).
5-5

Zaczynamy od dopisania parametru:

renderer: networkd

Zdefiniowanie renderera nie jest bezwzględnie wymagane, ale jest zalecane (wskazuje, że demonem zarządzającym siecią będzie systemd-networkd). Następnie wyłączamy automatyczne pobieranie adresu IP dla drugiej karty sieciowej, poprzez zakomentowanie opcji dhcp4. Kolejnym krokiem jest przepisanie konfiguracji z dolnej sekcji karty statycznej do karty na górze, uzupełniając ją o odpowiednie parametry adresowe. 


Podczas edycji bezwzględnie dbamy o zachowanie właściwej liczby spacji w strukturze wcięć. Przypominamy, że w plikach YAML zabronione jest używanie tabulatorów (klawisza Tab) – do tworzenia wcięć używamy wyłącznie spacji! Po przepisaniu całej konfiguracji zapisujemy plik i zamykamy edytor.

5-6

Aby zastosować wprowadzoną konfigurację sieciową, używamy polecenia:

$ sudo netplan apply

Jeśli konfiguracja została przygotowana poprawnie, polecenie nie powinno zwrócić żadnych błędów ani ostrzeżeń. Sprawdzamy nową adresację interfejsów:

$ ip a

Na czerwono został zaznaczony adres IPv4 i widzimy, że jest on w pełni zgodny z naszą konfiguracją w pliku YAML.

5-7

W przypadku popełnienia błędu składniowego narzędzie Netplan wskaże nam miejsce jego wystąpienia. Na zielono zostały oznaczone najważniejsze informacje diagnostyczne: oznaczenie 9:8 wskazuje kolejno numer linii oraz numer znaku (kolumny), w którym znajduje się błąd. Dalsza część komunikatu obrazuje graficznie dokładne miejsce wystąpienia niezgodności.


W takiej sytuacji otwieramy plik konfiguracyjny do ponownej edycji, dodając do wywołania edytora nano flagę -l, która włączy numerację linii w edytorze:

$ sudo nano -l /etc/netplan/50-cloud-init.yaml

II. Nadawanie nazw kartom sieciowym

5-1

W przypadku popełnienia błędu składniowego narzędzie Netplan wskaże nam miejsce jego wystąpienia. Na zielono zostały oznaczone najważniejsze informacje diagnostyczne: oznaczenie 9:8 wskazuje kolejno numer linii oraz numer znaku (kolumny), w którym znajduje się błąd. Dalsza część komunikatu obrazuje graficznie dokładne miejsce wystąpienia niezgodności.


W takiej sytuacji otwieramy plik konfiguracyjny do ponownej edycji, dodając do wywołania edytora nano flagę -l, która włączy numerację linii w edytorze:

$ sudo nano -l /etc/netplan/50-cloud-init.yaml
5-8

Na żółto zostały zaznaczone fragmenty, które musimy dodać do konfiguracji, aby zmienić nazwy naszych interfejsów:

  • match: macaddress: – pozwala na identyfikację fizycznej karty sieciowej na podstawie jej unikalnego adresu sprzętowego (MAC). Aby ułatwić sobie odczytanie i przepisanie tego adresu, możemy otworzyć drugą konsolę tekstową (TTY) za pomocą skrótu klawiszowego Ctrl + Alt + F2;
  • set-name: – definiuje nową, wybraną przez nas nazwę dla karty sieciowej (np. LAN);
  • optional: true – informuje system, że nie musi czekać na pełne skonfigurowanie i podniesienie tego interfejsu sieciowego podczas startu systemu (zapobiega to domyślnemu, dwuminutowemu opóźnieniu w uruchamianiu w przypadku braku fizycznego połączenia).


Po poprawnym przepisaniu całej konfiguracji zapisujemy plik i opuszczamy edytor.

5-9

Każda zmiana w pliku YAML wymaga ponownego zastosowania konfiguracji sieciowej w systemie, co robimy za pomocą polecenia:

$ sudo netplan apply
$ ip a

Widzimy, że interfejsy sieciowe przyjęły zdefiniowane przez nas nazwy. Od tej pory nowymi nazwami możemy posługiwać się we wszystkich innych plikach konfiguracyjnych usług sieciowych.

III. Włączanie i wyłączanie kart sieciowych

5-10

Zaczynamy od weryfikacji aktualnego stanu naszych kart sieciowych, ze szczególnym uwzględnieniem karty LAN:

$ ip a

Na zielono został zaznaczony aktualny stan karty – widzimy tam oznaczenie UP, co potwierdza, że interfejs jest aktywny. Aby wyłączyć wybraną kartę sieciową, korzystamy z polecenia:

$ sudo ip link set LAN down
$ ip a
5-11

Aby ponownie włączyć wyłączony interfejs, stosujemy analogiczne polecenie, zastępując parametr down słowem up:

$ sudo ip link set LAN up
$ ip a

Widzimy, że karta sieciowa ponownie powróciła do stanu aktywnego (UP).