Instalacja serwera DHCP na Ubuntu Server

Informacje o dzierżawie przydzielonej przez serwer DHCP
Informacje o dzierżawie przydzielonej przez serwer DHCP

W większości scenariuszy w sieci istnieje już jakiś serwer DHCP. Zdarzają się jednak sytuacje, gdy potrzebujemy zainstalować w sieci serwer DHCP, np. działający dla konkretnego VLANu lub dla maszyn wirtualnych na hypervisorze, gdy ten nie posiada sam w sobie serwera DHCP. W tym artykule pokażę, jak zainstalować i skonfigurować serwer DHCP w systemie Ubuntu Server.

Konfigurację w formie video obejrzysz tutaj -> kliknij 🙂

Przygotowanie

W celu zrealizowania przedstawionego scenariusza będziesz potrzebować:

  • Komputera lub maszyny wirtualnej z zainstalowanym systemem Ubuntu Server
  • Co najmniej 1 karty sieciowej z dostępem do Internetu
  • Co najmniej 1 karty sieciowej, na której ma byś świadczona usługa DHCP (może to być ta sama co dostarcza Internet)

Konfiguracja

  1. Zaloguj się do konsoli Ubuntu Server lub klientem SSH na konto z możliwością wykonania polecenia sudo.
  2. Sprawdź jakie nazwy mają interfejsy sieciowe w Twoim systemie poleceniem ifconfig.
    Wynik wykonania polecenia ifconfig
  3. Zainstaluj pakiet isc-dhcp-server poleceniem sudo apt install isc-dhcp-server -y
  4. Dodaj interfejs służący komunikacji DHCP do pliku /etc/default/isc-dhcp-server. W tym celu wykonaj polecenie sudo nano /etc/default/isc-dhcp-server.
  5. W wyświetlonym oknie, w wierszu INTERFACESv4 wpisz nazwę interfejsu przez jaki ma się odbywać komunikacja w celu przydzielenia klientowi konfiguracji przez serwer DHCP.
  6. Po wprowadzeniu nazwy interfejsu komunikacyjnego (w tym przypadku ens160) naciśnij Ctrl+X, Y (lub T) i naciśnij ENTER.
  7. Teraz przejdziemy do właściwej konfiguracji serwera DHCP, czyli miejsca, w którym definiuje się informacje, które serwer DHCP ma zwracać. W celu dokonania tej konfiguracji wykonaj polecenie sudo nano /etc/dhcp/dhcpd.conf. Wyświetli się takie okno:
  8. Jeśli jest to główny serwer DHCP w naszej sieci należy odkomentować dyrektywę authoritative; usuwając znak #.
  9. Kolejnym etapem jest zdefiniowanie konfiguracji jaka ma być dostarczana przez serwer DHCP. W tym celu należy przejść parę linii niżej i zlokalizować taki fragment konfiguracji:

    Odkomentuj te linie usuwając znak #.
  10. W pierwszym wierszu obok parametru subnet zmień adres sieci i maskę na odpowiadający zamierzonej konfiguracji. U mnie to będzie 10.53.53.0.
  11. W nawiasach klamrowych wprowadź konfigurację DHCP dostarczaną dla tej podsieci. Przykładowe parametry:
    option routers 10.53.53.1; – brama domyślna dla sieci
    option subnet-mask 255.255.255.0; – maska podsieci
    option domain-name-servers 1.1.1.1; – adresy serwerów DNS
    range 10.53.53.100 10.53.53.200; – zakres adresów przydzielanych przez serwer DHCP dynamicznie
    Przykładowa konfiguracja podsieci:

    Niżej w tym samym pliku można znaleźć więcej przykładowych konfiguracji.
  12. Zapisz zmiany naciskając Ctrl+X, Y (lub T) i naciśnij ENTER.
  13. Uruchom serwer DHCP poleceniem sudo service isc-dhcp-server start.
  14. Sprawdź działanie serwera poleceniem sudo service isc-dhcp-server status.

Przydatne polecenia

Może istnieć konieczność sprawdzenia przydzielonych konfiguracji przez serwer DHCP. Informacje związane z dzierżawą sprawdzisz wykonując polecenie less /var/lib/dhcp/dhcpd.leases. W tym pliku znajduje się baza danych z informacjami o dzierżawie. Przykładowy plik z dzierżawą wygląda następująco:

Jeśli interesuje cię analiza pakietów DHCP w Wireshark zachęcam do przeczytania artykułu Mateusza, w którym poruszył ten temat.