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.
LAB 02 · SIECI KOMPUTEROWE
Poznaj adresację IPv4 i konfigurację sieci w Ubuntu.
Zapisz YAML, zastosuj ustawienia i sprawdź połączenie.
Konfigurujesz interfejs sieciowy przez Netplan i potrafisz sprawdzić jego adres, trasę domyślną oraz działanie DNS.
01 / PODSTAWY
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.
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.
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.
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
| Element | Przykład | Znaczenie |
|---|---|---|
| Interfejs | ens18 | Karta sieciowa, której ustawienia zmieniasz. U Ciebie nazwa może być inna. |
| Adres IPv4 | 192.168.10.10 | Adres serwera w sieci lokalnej. Musi być unikalny w tej sieci. |
| Prefiks / maska | /24255.255.255.0 | Określa, które adresy należą do tej samej podsieci. |
| Brama domyślna | 192.168.10.1 | Router, do którego host wysyła ruch poza znane sieci, np. do Internetu. |
| Serwer DNS | 1.1.1.1 | Odpowiada 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.
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
Ć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.
ip -br link
ip -br address
ip route
ls -l /etc/netplan/
sudo netplan getip -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.
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
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.
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.
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| Klucz | Objaśnienie |
|---|---|
network | Początek opisu sieci. |
version: 2 | Wersja formatu konfiguracji, a nie wersja Ubuntu. |
renderer: networkd | Wybór systemd-networkd jako programu konfigurującego sieć. |
ethernets → ens18 | Ustawienia wskazanej karty przewodowej. |
dhcp4: false | IPv4 nie będzie pobierany z DHCP. |
addresses | Lista adresów interfejsu; prefiks zapisujemy razem z IP. |
routes → to: default | Trasa używana, gdy nie pasuje bardziej szczegółowa trasa. |
via | Adres następnego routera; tu naszej bramy. |
nameservers → addresses | Adresy 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.
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.
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: trueAdres 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.
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: true
dhcp4-overrides:
use-dns: false
nameservers:
addresses:
- 1.1.1.1
- 9.9.9.9use-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 →
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: true
ens19:
dhcp4: false
addresses:
- 10.0.0.20/24Pierwsza 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.
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 →
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
Poniższa kopia obejmuje cały katalog. Nazwa zawiera datę i godzinę. 01-lab.yaml stosuj tylko zgodnie z zasadami z części „Przygotowanie”.
sudo cp -a /etc/netplan "/root/netplan-backup-$(date +%Y%m%d-%H%M%S)"
sudo nano /etc/netplan/01-lab.yamlW nano: Ctrl + O, Enter zapisuje plik; Ctrl + X kończy edycję.
sudo chown root:root /etc/netplan/01-lab.yaml
sudo chmod 600 /etc/netplan/01-lab.yamlNetplan 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ń →
sudo netplan generate
sudo netplan try --timeout 120generate 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 →
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
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| Test | Oczekiwany efekt |
|---|---|
ip -br address | Dla przykładu A karta ma 192.168.10.10/24. |
ip route | Jest trasa default via 192.168.10.1 dev ens18 i trasa do lokalnej podsieci. |
resolvectl status | Widać DNS przypisane do interfejsu; inne źródła DNS też mogą mieć znaczenie. |
| Ping do bramy | Sprawdza osiągalność routera w LAN. |
| Ping do zewnętrznego IP | Sprawdza połączenie poza LAN, bez konieczności tłumaczenia nazwy. |
resolvectl query | Sprawdza rozwiązywanie nazwy przez systemd-resolved. |
getent ahostsv4 | Sprawdza 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.
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.
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.
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.
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
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.
600.generate oraz try, przetestuj połączenie i potwierdź.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.
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.1Adres 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ę.
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.
Nie. To wersja formatu konfiguracji Netplan.
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
Materiał opracowany na podstawie oficjalnej dokumentacji; adresy i zadanie są przykładami do pracowni. Weryfikacja dokumentacji: 1 października 2026.