Temat: Przygotowanie do pracy serwera DHCP

DHCP – (Dynamic Host Configuration Protocol) to protokół służący do dynamicznej konfiguracji adresów dla dużych grup stacji lub komputerów przenośnych. Składa się z oprogramowania klienta i serwera DHCP. Komputer klienta jest skonfigurowany do automatycznego uzyskiwania od serwera DHCP adresu IP i innych danych potrzebnych do jego konfiguracji.

Jak to działa?

Klient skonfigurowany do automatycznego pobierania adresu IP wysyła do sieci na adres rozgłoszeniowy żądanie przydziału danych konfiguracyjnych. Gdy serwer odbierze żądanie, sprawdza lokalną bazę danych i wysyła odpowiedź zawierającą adres oraz dodatkowo adresy serwerów nazw, maskę sieciową i domyślną bramę (jeżeli te informacje zostały zdefiniowane). Klient akceptuje odpowiedź od serwera i na jej podstawie konfiguruje swoje ustawienia. Serwer DHCP przechowuje listę adresów, które może przydzielić klientom, oraz listę adresów już przydzielonych. Każdy adres jest przydzielany na pewien czas i nazywany jest dzierżawą. Po upływie tego czasu klient musi ponownie skontaktować się z serwerem w celu odnowienia dzierżawy.

Serwer może przydzielać adresy w sposób dynamiczny. W takim przypadku w konfiguracji serwera jest określona pewna pula adresów, które może przydzielić klientom. Na ogół jest przydzielany pierwszy wolny adres z puli. Jeżeli klient wcześniej korzystał z dzierżawy adresu, to może poinformować o tym serwer i uzyskać ten sam adres. Serwer na ogół stara się przydzielić ten sam adres, jeżeli jest to możliwe.

Czasami zachodzi konieczność, aby pewne komputery w sieci uzyskiwały zawsze ten sam adres IP. To znacznie ułatwia odszukiwanie np. serwerów w sieci lokalnej. Stały przydział adresu IP zapewnia wpis statyczny w konfiguracji serwera DHCP. Polega to na wprowadzeniu do bazy danych serwera adresów fizycznych (MAC) klientów oraz adresy IP, które mają im być przydzielone. Serwer DHCP najpierw stara się przydzielić adres statyczny, a jeśli to niemożliwe, przydziela adres dynamicznie.

Uruchomienie serwera DHCP składa się z trzech etapów:

  1. Instalacja serwera;
  2. Konfiguracja serwera;
  3. Konfiguracja klientów.

Uruchamianie serwera DHCP

Serwer DHCP nie jest zainstalowany domyślnie. Instalujemy serwer poleceniem:

#sudo apt install isc-dhcp-server

Podajemy hasło dostępu do konta administratora i wpisujemy literę „t” aby potwierdzić pobranie i instalację roli. Najlepiej zainstalować serwer DHCP przed zmianą adresów IP karty sieciowej, żeby uniknąć problemów z połączeniem internetowym.

Uwaga!!!

Przed przystąpieniem modyfikacji plików konfiguracyjnych, należy wykonać ich kopię bezpieczeństwa. My działamy na wirtualnej maszynie, więc ewentualna pomyłka lub błąd spowoduje niewielką szkodę.

Do konfiguracji DHCP wykorzystywane są dwa pliki: /etc/dhcp/dhcpd.conf /etc/default/isc-dhcp-server.

Pierwszą rzeczą, którą należy zrobić, jest przypisanie statycznego adresu IP. Jeżeli chcemy poznać ilość dostępnych interfejsów sieciowych i ich konfigurację, możemy się posłużyć polecenie: ifconfig. 

Interfejsy sieciowe

Na serwerze umieszczone są dwie karty sieciowe: jedna – pracuje w trybie NAT (pobiera internet od maszyny fizycznej), druga – jako sieć wewnętrzna (łączy serwer ze stacją roboczą). Interfejsem sieciowy sieci wewnętrznej jest enp0s8. Statyczny adres IP możemy ustawić w trybie graficznym i jego konfiguracja wygląda jak na zdjęciu poniżej. Proszę zwrócić uwagę na adresy DNS. Wykorzystałem ogólnodostępne adresy od Google: 8.8.8.8, 8.8.4.4.

Konfiguracja IP dla enp0s8

Adres IP ustawiony, serwer DHCP pobrany, więc możemy przejść do konfiguracji pliku /etc/default/isc-dhcp-server. W terminalu wpisujemy polecenie: 

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

Tutaj określamy na jakim interfejsie nasz serwer DHCP będzie nasłuchiwał na żądania od klientów. Ustawiamy INTERFACESv4=”enp0s8″. Zapisujemy zmiany i zamykamy plik.

Ustawienie nasłuchiwania na interfejsie serwera

Teraz przechodzimy do konfiguracji pliku /etc/dhcp/dhcpd.conf. Są w nim opisane parametry globalne i przydzielane adresy. Jeżeli taki plik nie istnieje to należy go utworzyć oraz wprowadzić odpowiednie instrukcje. Aby plik wyedytować, wpisujemy w terminalu:

#sudo nano /etc/dhcp/dhcpd.conf
dhcpd.conf

Jeżeli chcemy uruchomić jakąś opcję dostępną w pliku /etc/dhcp/dhcpd.conf, to musimy odblokować konkretny wiersz, usuwając znak #:

Instrukcje globalne

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;

Te cztery linie dotyczące serwerów DNS i czasów dzierżawy to instrukcje globalne, tzn. że będą obowiązywać dla wszystkich sieci skonfigurowanych w tym pliku.

Ustawienie serwera DHCP, jako głównego serwera w naszej sieci (autoratywnego)

authoritative;

Aby ustawić nasz serwer DHCP jako oficjalny serwere DHCP dla klientów, musimy odblokować następujący wiersz, usuwając znak #.

Ustawienia dotyczące puli adresów przydzielanych dynamicznie

subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.50 10.0.0.100;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option domain-name "zs3.dhcp";
option routers 10.0.0.1;
option broadcast-address 10.0.0.255;
default-lease-time 600;
max-lease-time 7200;
}

– definicja podsieci i maski
– pula adresów przydzielanych dynamicznie
– serwery nazw domen DNS
– nazwa domeny w jakiej pracują komputery (my nie mamy domeny)
– adres bramy klientów) (IP serwera)
– adres rozgłoszeniowy
– domyślny czas dzierżawy
– maksymalny czas dzierżawy
-usuwamy znak # przed zamknięciem klamry

Podstawowa konfiguracja DHCP jest zrobiona. Zapisujemy zmiany i zamykamy edycję pliku. Przed sprawdzeniem, czy usługa działa, należy zrestartować serwer poleceniem:

sudo service isc-dhcp-server restart

lub

sudo service isc-dhcp-server  start
sudo service isc-dhcp-server  stop

Pozostało już tylko sprawdzić, czy usługa DHCP działa poprawnie. W tym celu wprowadzamy do terminala polecenie:

sudo systemctl status isc-dhcp-server
Status serwera DHCP

Sprawdzimy teraz, czy komputer klienta (z Windows 10) pobiera adresy z serwera DHCP. Przechodzimy do ustawień karty sieciowej klienta i ustawiamy automatyczne uzyskiwanie adresu IP. W wierszu poleceń klient, poleceniem ipconfig, sprawdzamy ustawienia.

Ustawienie karty sieciowej klienta

Wszystko się udało. Komputer klienta pobrał pierwszy adres z puli serwera DHCP.

Nowy adres e-mail do przesyłania prac: dpietron@poczta.zs3krasnik.pl