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
- Zaloguj się do konsoli Ubuntu Server lub klientem SSH na konto z możliwością wykonania polecenia sudo.
- Sprawdź jakie nazwy mają interfejsy sieciowe w Twoim systemie poleceniem
ifconfig
. - Zainstaluj pakiet isc-dhcp-server poleceniem
sudo apt install isc-dhcp-server -y
- 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
. - W wyświetlonym oknie, w wierszu INTERFACESv4 wpisz nazwę interfejsu przez jaki ma się odbywać komunikacja w celu przydzielenia klientowi konfiguracji przez serwer DHCP.
- Po wprowadzeniu nazwy interfejsu komunikacyjnego (w tym przypadku ens160) naciśnij Ctrl+X, Y (lub T) i naciśnij ENTER.
- 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: - Jeśli jest to główny serwer DHCP w naszej sieci należy odkomentować dyrektywę authoritative; usuwając znak #.
- 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 #. - 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.
- 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. - Zapisz zmiany naciskając Ctrl+X, Y (lub T) i naciśnij ENTER.
- Uruchom serwer DHCP poleceniem
sudo service isc-dhcp-server start
. - 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: