SSP1XNE
Laboratorium/Adresacja sieci z Netplan

LAB 02 · SIECI KOMPUTEROWE

Skonfiguruj Netplan.
Ustaw adres, bramę i DNS.

Poznaj adresację IPv4 i konfigurację sieci w Ubuntu.
Zapisz YAML, zastosuj ustawienia i sprawdź połączenie.

Ubuntu Server4 przykłady YAMLĆwiczenie z rozwiązaniem
Zacznij zadanie ↓
Cel zadania

Konfigurujesz interfejs sieciowy przez Netplan i potrafisz sprawdzić jego adres, trasę domyślną oraz działanie DNS.

01 / PODSTAWY

Netplan opisuje, jak ma działać sieć.

Netplan to narzędzie używane w Ubuntu do definiowania ustawień sieci w plikach YAML. Podajesz interfejs i jego parametry, a Netplan przygotowuje konfigurację dla programu, który zarządza połączeniem. Takim programem jest systemd-networkd albo NetworkManager.

01Plik YAML/etc/netplan/
02Netplangeneruje ustawienia
03Rendererkonfiguruje interfejs

W przykładach używamy renderer: networkd, typowego dla Ubuntu Server. Ubuntu Desktop zwykle korzysta z NetworkManager. Sprawdź istniejące ustawienia przed wyborem renderera. Opisane mechanizmy wyjaśnia dokumentacja Ubuntu Server.

DHCP — automatycznie

Komputer pyta serwer DHCP o konfigurację. Może otrzymać adres, maskę, bramę i DNS. To wygodne dla stacji roboczych; adres może się zmieniać. Rezerwacja DHCP pozwala przypisać stały adres konkretnemu urządzeniu.

Statycznie — ręcznie

Administrator sam wpisuje adres i pozostałe parametry. To częsty wybór dla serwerów DNS i WWW. Trzeba uzgodnić wolny adres z administratorem sieci i unikać konfliktu z pulą DHCP.

Przykłady dotyczą przewodowego IPv4 w maszynie laboratoryjnej. dhcp4: false wyłącza DHCP dla IPv4, ale samo w sobie nie wyłącza IPv6.

02 / CZTERY ELEMENTY

IP identyfikuje host. Reszta wskazuje drogę.

Plan przykładowej sieci laboratoryjnej
ElementPrzykładZnaczenie
Interfejsens18Karta sieciowa, której ustawienia zmieniasz. U Ciebie nazwa może być inna.
Adres IPv4192.168.10.10Adres serwera w sieci lokalnej. Musi być unikalny w tej sieci.
Prefiks / maska/24
255.255.255.0
Określa, które adresy należą do tej samej podsieci.
Brama domyślna192.168.10.1Router, do którego host wysyła ruch poza znane sieci, np. do Internetu.
Serwer DNS1.1.1.1Odpowiada na pytania o nazwy, np. jaki adres ma ubuntu.com.

Adres 192.168.10.10/24 oznacza 24 bity części sieciowej i 8 bitów części hosta. W tej podsieci adres sieci to 192.168.10.0, broadcast to 192.168.10.255, a typowy zakres hostów to 192.168.10.1–192.168.10.254 (254 adresy). Adresu sieci ani broadcast nie przypisuj komputerowi.

i

Przykład myślenia: serwer 192.168.10.10/24 kontaktuje się z 192.168.10.20 bezpośrednio w LAN. Do 1.1.1.1 wysyła pakiety przez bramę 192.168.10.1. DNS tłumaczy nazwy; nie zastępuje bramy.

Jeżeli laboratorium jest odizolowane i nie ma routera, pomiń trasę domyślną. Komputery w tej samej podsieci nadal mogą się komunikować.

03 / ZANIM ZMIENISZ USTAWIENIA

Najpierw poznaj swoją maszynę.

Ćwicz na Ubuntu Server w maszynie wirtualnej z dostępem do konsoli. W przykładach ens18 jest nazwą umowną. Odczytaj rzeczywistą nazwę, np. enp0s3, ens33 lub eno1, i zamień ją w plikach.

Rozpoznanie interfejsów i konfiguracji
ip -br link
ip -br address
ip route
ls -l /etc/netplan/
sudo netplan get

ip -br link pokazuje nazwy i stan kart; lo to interfejs pętli zwrotnej, nie karta do LAN. ip route pokazuje trasy, w tym obecną bramę. netplan get odczytuje scaloną konfigurację. UP nie gwarantuje dostępu do Internetu.

!

Sprawdź wszystkie pliki YAML. Netplan scala konfiguracje; późniejszy plik nie usuwa automatycznie wszystkich wcześniejszych ustawień. Listy adresów i tras mogą się łączyć. Kopie zapasowe przechowuj poza /etc/netplan/. Zasady scalania opisuje dokumentacja generatora.

W świeżej maszynie ćwiczeniowej użyjemy /etc/netplan/01-lab.yaml. Jeżeli inny plik już konfiguruje tę kartę, po wykonaniu kopii zapasowej edytuj ten plik zamiast dodawać drugi opis tej samej karty. W dalszych poleceniach podstaw wtedy rzeczywistą nazwę pliku.

Co z plikiem 50-cloud-init.yaml?

Obraz chmurowy może mieć ustawienia generowane przez cloud-init. Ręczna edycja takiego pliku nie zawsze jest trwała. Sposób przejęcia konfiguracji zależy od obrazu i dostawcy; sprawdź komentarz w pliku oraz dokumentację cloud-init. Do tej lekcji wybierz zwykłą VM instalowaną z ISO Ubuntu Server lub środowisko przygotowane przez nauczyciela.

04 / GOTOWE PRZYKŁADY

Wybierz jeden wariant konfiguracji.

Każdy przykład jest osobną konfiguracją, a nie kolejną częścią jednego pliku. Dostosuj nazwy kart, adresy, bramę i DNS do swojej pracowni. Przy publicznych DNS sieć musi pozwalać na korzystanie z tych usług.

A / SERWER ZE STAŁYM ADRESEM

Statyczny IPv4, brama i DNS

Pobierz YAML ↓

Serwer zawsze ma 192.168.10.10/24. Router jest pod 192.168.10.1, a do rozwiązywania nazw używamy 1.1.1.1 i 9.9.9.9.

/etc/netplan/01-lab.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: false
      addresses:
        - 192.168.10.10/24
      routes:
        - to: default
          via: 192.168.10.1
      nameservers:
        addresses:
          - 1.1.1.1
          - 9.9.9.9
Jak czytać ten plik
KluczObjaśnienie
networkPoczątek opisu sieci.
version: 2Wersja formatu konfiguracji, a nie wersja Ubuntu.
renderer: networkdWybór systemd-networkd jako programu konfigurującego sieć.
ethernets → ens18Ustawienia wskazanej karty przewodowej.
dhcp4: falseIPv4 nie będzie pobierany z DHCP.
addressesLista adresów interfejsu; prefiks zapisujemy razem z IP.
routes → to: defaultTrasa używana, gdy nie pasuje bardziej szczegółowa trasa.
viaAdres następnego routera; tu naszej bramy.
nameservers → addressesAdresy serwerów DNS — to inna lista niż adresy samej karty.

Do bramy domyślnej używamy routes. Dawny klucz gateway4 jest oznaczony jako przestarzały w dokumentacji YAML Netplan.

i

Wcięcia to struktura. W tej lekcji używamy dwóch spacji na poziom i żadnych tabulatorów. via należy do tej samej pozycji listy co to. Wielkość liter ma znaczenie, a znak # rozpoczyna komentarz.

B / AUTOMATYCZNE USTAWIENIA

Adresacja z DHCP

Pobierz YAML ↓
DHCP dla ens18
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: true

Adres IPv4, brama i DNS mogą pochodzić z DHCP. Potrzebujesz działającego serwera DHCP w danej sieci, np. routera lub wirtualnej sieci NAT. Po przejściu ze statycznej konfiguracji usuń z edytowanego opisu stare addresses, routes i ręczne DNS, jeśli celem jest wyłącznie DHCP.

C / DHCP + WYBRANY DNS

Adres z DHCP, DNS wpisany ręcznie

Pobierz YAML ↓
Przykład dla renderera networkd
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: true
      dhcp4-overrides:
        use-dns: false
      nameservers:
        addresses:
          - 1.1.1.1
          - 9.9.9.9

use-dns: false oznacza, że DNS otrzymany z DHCP ma być pominięty. Adres i trasa nadal pochodzą z DHCP. Ten przykład zakłada networkd; zakres obsługi opcji opisuje dokumentacja DHCP overrides. Przy aktywnym IPv6 DNS może też pochodzić z innych mechanizmów — sprawdź wynik resolvectl status.

Wygeneruj własny YAML dla dwóch kart →

D / MASZYNA Z DWOMA INTERFEJSAMI

Internet z DHCP i oddzielna sieć LAB

Pobierz YAML ↓
ens18: NAT / ens19: sieć wewnętrzna
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: true
    ens19:
      dhcp4: false
      addresses:
        - 10.0.0.20/24

Pierwsza karta korzysta z wirtualnej sieci NAT z DHCP i zapewnia trasę do Internetu. Druga ma stały adres w wewnętrznym LAN. Na ens19 nie dodajemy drugiej bramy domyślnej. To nie robi z Ubuntu routera — udostępnianie Internetu wymaga osobnej konfiguracji.

Połącz to z laboratorium BIND9

Jeżeli przez ens19 jest dostępny serwer BIND9 10.0.0.10, możesz dodać pod ens19 sekcję nameservers z addresses: [10.0.0.10]. Zapytanie dig @10.0.0.10 www.sks.local sprawdzi wskazany serwer bezpośrednio. Wybór DNS przez system przy wielu interfejsach i domenach to osobny temat; nie zakładaj, że dopisanie DNS automatycznie skieruje do niego wszystkie zapytania. Otwórz laboratorium BIND9 →

A jak skonfigurować Ubuntu Desktop?

Jeżeli komputer korzysta już z NetworkManager, zachowaj renderer: NetworkManager (dokładnie taka wielkość liter). Nie przepisuj przykładu C bez sprawdzenia obsługi jego opcji. Ta lekcja skupia się na Ubuntu Server i networkd; obsługę drugiego renderera opisuje dokumentacja Netplan.

05 / OD PLIKU DO DZIAŁAJĄCEJ SIECI

Wygeneruj. Wypróbuj. Potwierdź.

  1. Zapisz kopię i edytuj właściwy plik

    Poniższa kopia obejmuje cały katalog. Nazwa zawiera datę i godzinę. 01-lab.yaml stosuj tylko zgodnie z zasadami z części „Przygotowanie”.

    Kopia zapasowa i edycja
    sudo cp -a /etc/netplan "/root/netplan-backup-$(date +%Y%m%d-%H%M%S)"
    sudo nano /etc/netplan/01-lab.yaml

    W nano: Ctrl + O, Enter zapisuje plik; Ctrl + X kończy edycję.

  2. Ustaw właściciela i uprawnienia

    Plik dostępny dla root
    sudo chown root:root /etc/netplan/01-lab.yaml
    sudo chmod 600 /etc/netplan/01-lab.yaml

    Netplan zaleca pliki YAML należące do root i dostępne tylko dla tego użytkownika. Mogą zawierać poufne ustawienia, np. hasła Wi-Fi. Zasady uprawnień →

  3. Sprawdź składnię i wypróbuj konfigurację

    Wykonuj polecenia kolejno
    sudo netplan generate
    sudo netplan try --timeout 120

    generate generuje konfigurację backendu, ale w działającym systemie nie przełącza sieci. Jeśli pokaże błąd, popraw YAML przed kolejnym poleceniem. try wprowadza ustawienia na próbę i czeka na potwierdzenie. W drugiej konsoli wykonaj testy z następnej sekcji, a następnie potwierdź działający wariant klawiszem Enter. Potwierdzona konfiguracja pozostaje aktywna; dodatkowe apply nie jest wtedy konieczne. Opis netplan try →

  4. Wiedz, kiedy użyć apply

    sudo netplan apply stosuje konfigurację bez okna potwierdzenia. Używaj go świadomie po sprawdzeniu pliku, z dostępem do konsoli. Przy zmianie adresu IP sesja SSH może się zerwać — ponowne połączenie wykonaj z nowym adresem.

!

Wycofanie wymaga kontroli. Bez potwierdzenia try powinno wycofać zmianę, ale dokumentacja opisuje ograniczenia tego mechanizmu. Sprawdź rzeczywisty stan sieci oraz YAML zapisany na dysku. Zapisany błędny plik popraw lub przywróć z kopii, zanim ponownie zastosujesz ustawienia albo uruchomisz system ponownie.

06 / DIAGNOSTYKA

Testuj od karty do nazwy domeny.

Przykład A: sprawdzenie efektu
ip -br address show ens18
ip route
resolvectl status ens18
ping -c 3 192.168.10.1
ping -c 3 1.1.1.1
resolvectl query ubuntu.com
getent ahostsv4 ubuntu.com
Jak interpretować wynik
TestOczekiwany efekt
ip -br addressDla przykładu A karta ma 192.168.10.10/24.
ip routeJest trasa default via 192.168.10.1 dev ens18 i trasa do lokalnej podsieci.
resolvectl statusWidać DNS przypisane do interfejsu; inne źródła DNS też mogą mieć znaczenie.
Ping do bramySprawdza osiągalność routera w LAN.
Ping do zewnętrznego IPSprawdza połączenie poza LAN, bez konieczności tłumaczenia nazwy.
resolvectl querySprawdza rozwiązywanie nazwy przez systemd-resolved.
getent ahostsv4Sprawdza rozwiązywanie nazw przez systemowy mechanizm używany przez aplikacje.

Brak odpowiedzi na ping nie zawsze oznacza awarię: urządzenie lub zapora może blokować ICMP. resolvectl zakłada działający systemd-resolved, typowy dla Ubuntu. Adres 127.0.0.53 w /etc/resolv.conf może być prawidłowym lokalnym resolverem, a nie błędem.

Błąd YAML lub „unknown key”

Sprawdź wcięcia, tabulatory, dwukropki i pisownię. addresses jest listą, a nameservers osobną sekcją. Zacznij od sudo netplan generate; zgłoszona linia wskazuje miejsce do sprawdzenia, nie zawsze źródło błędu.

Adres nie pojawia się na karcie

Porównaj nazwę z ip -br link. Sprawdź, czy karta VM jest podłączona do właściwej sieci i czy edytowany plik nie jest nadpisywany lub scalany z innym. sudo netplan get pokazuje wynik scalania.

LAN działa, Internet nie działa

Sprawdź ip route, osiągalność bramy i tryb sieci w VM. Sieć wewnętrzna bez routera nie ma wyjścia do Internetu. Host w przykładzie A musi mieć bramę osiągalną w swojej podsieci.

Po IP działa, po nazwie nie

Sprawdź resolvectl status i resolvectl query ubuntu.com. DNS może być nieosiągalny, błędny lub nadpisywany przez DHCP. Nie wpisuj adresów DNS ręcznie do /etc/resolv.conf, jeśli plikiem zarządza system.

07 / TWOJA KOLEJ

Skonfiguruj serwer pracowni.

ZADANIE DLA UCZNIA

Masz maszynę Ubuntu Server z kartą ens18. Nauczyciel przygotował sieć 192.168.50.0/24 i przydzielił wolny adres 192.168.50.25. Router oraz DNS działają pod 192.168.50.1.

  1. Ustal właściwą nazwę karty i zapisz stan sieci przed zmianą.
  2. Wykonaj kopię konfiguracji. Zapisz YAML ze stałym adresem, bramą i DNS.
  3. Ustaw właściciela root i uprawnienia 600.
  4. Wykonaj generate oraz try, przetestuj połączenie i potwierdź.
  5. Oddaj plik YAML i wyniki ip -br address, ip route oraz testu DNS.

Kryteria: właściwy interfejs, adres /24, jedna poprawna brama IPv4, działające rozwiązywanie nazw i poprawne wcięcia.

Pokaż przykładowe rozwiązanie
Porównaj z własnym YAML
network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: false
      addresses:
        - 192.168.50.25/24
      routes:
        - to: default
          via: 192.168.50.1
      nameservers:
        addresses:
          - 192.168.50.1

Adres sieci: 192.168.50.0. Broadcast: 192.168.50.255. Maska: 255.255.255.0. Oczekiwana brama: default via 192.168.50.1 dev ens18. Router odpowie na zapytania DNS tylko wtedy, gdy rzeczywiście świadczy tę usługę.

Sprawdź, czy rozumiesz

Czym różni się brama od DNS?

Brama przekazuje pakiety do innych sieci. DNS pomaga ustalić adres na podstawie nazwy. Mogą działać na tym samym routerze, ale pełnią inne funkcje.

Czy version: 2 oznacza Ubuntu 22.04?

Nie. To wersja formatu konfiguracji Netplan.

Dlaczego nie wystarczy samo generate?

Sprawdza konfigurację i generuje pliki backendu. W działającym systemie do wprowadzenia zmian użyj try albo apply. Poprawna składnia nie dowodzi, że IP jest wolne lub brama istnieje.

DOKUMENTACJA / CZYTAJ DALEJ

Źródła i dalsza nauka.

Materiał opracowany na podstawie oficjalnej dokumentacji; adresy i zadanie są przykładami do pracowni. Weryfikacja dokumentacji: 1 października 2026.

NASTĘPNY KROK / DNS

Masz adres. Nadaj mu nazwę.

Przejdź do BIND9 →