W systemie Ubuntu do sprawdzenia adresacji sieciowej używamy polecenia:
$ ip a
Na zrzucie ekranu zostały zaznaczone najważniejsze elementy:
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.
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.
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:
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.
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.
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
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
Na żółto zostały zaznaczone fragmenty, które musimy dodać do konfiguracji, aby zmienić nazwy naszych interfejsów:
Po poprawnym przepisaniu całej konfiguracji zapisujemy plik i opuszczamy edytor.
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.
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
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).