MANIEK Logo Mój Asystent Nauki Informatyki i Egzaminów Klasyfikacyjnych
Logowanie
ASSO / Linux Server / DHCP

2 — Konfiguracja serwera DHCP w Ubuntu Server

Czas: 45 min

Cele i treść

Cele:
  • Uczeń wyjaśnia zasadę działania usługi DHCP.
  • Uczeń instaluje pakiet isc-dhcp-server.
  • Uczeń wskazuje interfejs sieciowy obsługiwany przez DHCP.
  • Uczeń konfiguruje zakres adresów IP, bramę, DNS i czas dzierżawy.
  • Uczeń uruchamia usługę, sprawdza status i analizuje logi.
  • Uczeń testuje pobieranie adresu IP przez klienta Linux lub Windows.

DHCP to usługa automatycznego przydzielania konfiguracji sieciowej komputerom w sieci lokalnej. Serwer DHCP może przekazać klientowi adres IP, maskę, bramę domyślną, adres DNS oraz czas dzierżawy.

W tej lekcji konfigurujemy serwer DHCP w systemie Ubuntu Server dla przykładowej sieci szkolnej.

Notatka:

Najważniejsze pliki i polecenia:

  • /etc/dhcp/dhcpd.conf - główny plik konfiguracji zakresów DHCP
  • /etc/default/isc-dhcp-server - wybór interfejsu sieciowego
  • sudo systemctl status isc-dhcp-server - status usługi
  • sudo journalctl -u isc-dhcp-server - logi usługi

Przykład: sieć 192.168.13.0/24, serwer 192.168.13.1, zakres DHCP 192.168.13.100-192.168.13.150.

#DHCP#isc-dhcp-server#Linux Server

Punkty lekcji

1 - Wprowadzenie do usługi DHCPopis

Usługa DHCP automatycznie przydziela komputerom konfigurację sieciową. Dzięki niej nie trzeba ręcznie wpisywać adresu IP, maski, bramy i DNS na każdym stanowisku.

Podstawowy przebieg działania DHCP można zapamiętać jako: Discover → Offer → Request → Acknowledge.

2 - Założenia do ćwiczenianotatka

Przykładowa konfiguracja:

  • serwer: Ubuntu Server
  • interfejs LAN: enp0s8
  • adres serwera: 192.168.13.1/24
  • sieć: 192.168.13.0/24
  • zakres DHCP: 192.168.13.100 - 192.168.13.150
  • brama: 192.168.13.1
  • DNS: 192.168.13.1 oraz 8.8.8.8
  • domena: szkola.local

Nazwy interfejsów mogą być inne, np. ens33, enp0s3, enp0s8. Należy je sprawdzić poleceniem ip a.

3 - Sprawdzenie interfejsów sieciowychkomenda

Sprawdź dostępne interfejsy sieciowe i adres IP serwera.

ip a

Możesz też wyświetlić krótką listę interfejsów:

ip -br a

Zapisz nazwę interfejsu podłączonego do sieci LAN, np. enp0s8.

4 - Sprawdzenie lub ustawienie statycznego adresu IP serwerakomenda

Serwer DHCP powinien mieć stały adres IP. W Ubuntu Server najczęściej konfiguruje się go w Netplan.

Sprawdź pliki Netplan:

ls /etc/netplan/

Przykładowa konfiguracja dla interfejsu enp0s8:

network:
version: 2
ethernets:
enp0s8:
addresses: [192.168.13.1/24]
nameservers:
addresses: [192.168.13.1,8.8.8.8]

Zastosuj konfigurację:

sudo netplan apply
5 - Aktualizacja listy pakietówkomenda

Przed instalacją usługi odśwież listę pakietów.

sudo apt update

Jeżeli pojawi się błąd repozytoriów lub DNS, najpierw popraw połączenie z Internetem albo konfigurację DNS.

6 - Instalacja serwera DHCPkomenda

Zainstaluj pakiet isc-dhcp-server.

sudo apt install isc-dhcp-server -y

Po instalacji usługa może zgłaszać błąd, dopóki nie zostanie poprawnie skonfigurowany zakres DHCP i interfejs.

7 - Wybór interfejsu dla DHCPkomenda

Otwórz plik wskazujący interfejs, na którym serwer DHCP będzie obsługiwał klientów.

sudo nano /etc/default/isc-dhcp-server

Ustaw przykładowo:

INTERFACESv4="enp0s8"
INTERFACESv6=""

Zapis w nano: CTRL+O, Enter, następnie CTRL+X.

8 - Kopia zapasowa pliku dhcpd.confkomenda

Przed zmianą głównego pliku konfiguracji wykonaj kopię zapasową.

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

Dzięki temu można szybko wrócić do poprzedniej wersji konfiguracji.

9 - Konfiguracja zakresu DHCPkomenda

Otwórz plik konfiguracji DHCP:

sudo nano /etc/dhcp/dhcpd.conf

Na końcu pliku dodaj konfigurację:

authoritative;
default-lease-time 600;
max-lease-time 7200;
option domain-name "szkola.local";
option domain-name-servers 192.168.13.1, 8.8.8.8;

subnet 192.168.13.0 netmask 255.255.255.0 {
range 192.168.13.100 192.168.13.150;
option routers 192.168.13.1;
option broadcast-address 192.168.13.255;
}

Ta konfiguracja przydziela klientom adresy od 192.168.13.100 do 192.168.13.150.

10 - Sprawdzenie poprawności konfiguracjikomenda

Przed restartem usługi sprawdź składnię pliku konfiguracyjnego.

sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf

Jeżeli nie ma błędów, polecenie nie powinno zwrócić komunikatu o błędnej składni. Najczęstsze błędy to brak średnika, zła maska, zła nazwa interfejsu albo zakres spoza podsieci.

11 - Uruchomienie i sprawdzenie usługikomenda

Uruchom ponownie usługę DHCP i sprawdź jej status.

sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server

Poprawny stan powinien zawierać informację:

active (running)
12 - Włączenie autostartu usługikomenda

Aby serwer DHCP uruchamiał się razem z systemem, wykonaj:

sudo systemctl enable isc-dhcp-server

Jest to ważne, ponieważ usługa serwerowa powinna działać automatycznie po restarcie.

13 - Sprawdzenie portów DHCPkomenda

Serwer DHCP używa protokołu UDP. Serwer nasłuchuje zwykle na porcie 67/UDP, a klient używa portu 68/UDP.

sudo ss -ulpen | grep :67

Jeżeli usługa nie nasłuchuje, sprawdź status i logi.

14 - Konfiguracja zapory UFWkomenda

Jeżeli włączona jest zapora UFW, zezwól na ruch DHCP.

sudo ufw status
sudo ufw allow 67/udp
sudo ufw reload

W wielu ćwiczeniach szkolnych UFW jest wyłączone, ale warto sprawdzić jego stan.

15 - Test z klienta Linuxkomenda

Na komputerze klienckim Linux ustaw pobieranie adresu automatycznie albo wymuś odnowienie dzierżawy.

sudo dhclient -r
sudo dhclient
ip a

Klient powinien otrzymać adres z zakresu 192.168.13.100 - 192.168.13.150.

16 - Test z klienta Windowskomenda

Na komputerze Windows ustaw kartę sieciową na automatyczne pobieranie adresu IP. Następnie w wierszu polecenia wykonaj:

ipconfig /release
ipconfig /renew
ipconfig /all

Sprawdź, czy adres IP, brama i DNS zgadzają się z konfiguracją serwera DHCP.

17 - Sprawdzenie dzierżaw DHCPkomenda

Na serwerze można sprawdzić przydzielone dzierżawy w pliku:

sudo cat /var/lib/dhcp/dhcpd.leases

W pliku powinny pojawić się informacje o adresach przydzielonych klientom.

18 - Analiza logów usługikomenda

Jeżeli DHCP nie działa, sprawdź logi systemowe.

sudo journalctl -u isc-dhcp-server --no-pager
sudo journalctl -u isc-dhcp-server -f

Logi często wskazują konkretny błąd, np. złą nazwę interfejsu lub błąd składni w dhcpd.conf.

19 - Rezerwacja adresu IP dla wybranego klientakomenda

Można przypisać stały adres IP do konkretnego komputera na podstawie adresu MAC.

host klient01 {
hardware ethernet 08:00:27:AA:BB:CC;
fixed-address 192.168.13.20;
}

Adres rezerwowany powinien być poza zakresem dynamicznym albo świadomie wyłączony z puli dynamicznej.

20 - Najczęstsze błędynotatka
  • Usługa nie startuje: sprawdź średniki i nawiasy w dhcpd.conf.
  • Błędna nazwa interfejsu: sprawdź ip -br a i plik /etc/default/isc-dhcp-server.
  • Zakres poza podsiecią: sprawdź adres sieci, maskę i zakres DHCP.
  • Klient nie dostaje IP: sprawdź połączenie sieciowe i czy klient jest w tej samej sieci LAN.
  • W sieci działa drugi DHCP: mogą pojawić się konflikty adresów.
21 - Zadanie dla uczniazadanie

Wykonaj konfigurację serwera DHCP.

  1. Sprawdź nazwę interfejsu LAN.
  2. Ustaw adres serwera 192.168.13.1/24.
  3. Zainstaluj isc-dhcp-server.
  4. Wskaż interfejs obsługujący klientów.
  5. Utwórz zakres 192.168.13.100 - 192.168.13.150.
  6. Ustaw bramę 192.168.13.1 i DNS 192.168.13.1, 8.8.8.8.
  7. Uruchom usługę i sprawdź status.
  8. Sprawdź pobranie adresu IP przez klienta.
  9. Wykonaj zrzut ekranu statusu usługi i konfiguracji IP klienta.
22 - Pytania kontrolnezadanie
  1. Do czego służy DHCP?
  2. Jak nazywa się pakiet serwera DHCP w Ubuntu Server?
  3. W którym pliku wybieramy interfejs DHCP?
  4. W którym pliku zapisujemy zakres DHCP?
  5. Jakim poleceniem sprawdzisz status usługi?
  6. Co oznaczają porty 67/UDP i 68/UDP?
  7. Co sprawdzisz, gdy klient nie otrzymuje adresu IP?
23 - Kryteria poprawnego wykonanianotatka
  • Serwer ma statyczny adres IP.
  • Pakiet isc-dhcp-server jest zainstalowany.
  • W pliku /etc/default/isc-dhcp-server wpisano właściwy interfejs.
  • Plik dhcpd.conf zawiera poprawny zakres DHCP.
  • Usługa isc-dhcp-server działa i uruchamia się automatycznie.
  • Klient pobiera adres IP z właściwego zakresu.
  • Uczeń potrafi wskazać logi i plik dzierżaw.
24 - Podsumowanienotatka

Po lekcji uczeń powinien umieć skonfigurować podstawowy serwer DHCP w Ubuntu Server, przetestować pobieranie adresu przez klienta oraz znaleźć typowe błędy w konfiguracji.

Najważniejsze do zapamiętania: /etc/dhcp/dhcpd.conf, /etc/default/isc-dhcp-server, systemctl status isc-dhcp-server, journalctl -u isc-dhcp-server.

Powiązane arkusze i pytania

Arkusze

Brak powiązanych arkuszy.

Pytania

Brak powiązanych pytań.