# » course » networking-professional » Linux.05

L05 DHCP, dynamiczna konfiguracja adresacji hostów w sieci

Ręczna konfiguracja hostów w sieci jest uciążliwa i wraz ze wzrostem ilości urządzeń będzie stawała się coraz bardziej skomplikowana. Dlatego warto zastanowić się nad uruchomieniem w naszej sieci serwera (usługi na serwerze), który będzie przypisywał adresy IP i pozostałe parametry na stacjach roboczych.

DHCP (ang. Dynamic Host Configuration Protocol - protokół dynamicznego konfigurowania hostów) - protokół komunikacyjny umożliwiający komputerom uzyskanie od serwera danych konfiguracyjnych, np. adresu IP hosta, adresu IP bramy sieciowej, adresu serwera DNS, maski podsieci.

5.1 Instalacja serwera ISC-DHCP

Dla systemu Linux istnieje wiele programów pełniących funkcję serwera DHCP. Najpopularniejszą i najczęściej stosowaną implementacją jest serwer isc-dhcp (stworzony przez Internet Systems Consortium http://www.isc.org/downloads/dhcp/). Paczka isc-dhcp-server znajduje się w standardowym repozytorium systemu Debian.

1. Aktualizujemy repozytorium:

# apt update

2. Instalujemy pakiet isc-dhcp-server:

# apt install isc-dhcp-server

UWAGA
Po instalacji serwer nie uruchomi się automatycznie ponieważ niezbędna jest dodatkowa konfiguracja.

5.2 Konfiguracja serwera DHCP

Do konfiguracji serwera isc-dhcp służy plik konfiguracyjny /etc/dhcp/dhcpd.conf, można w nim znaleźć wiele przykładowych ustawień. W wielu przypadkach wystarczy tylko usunąć symbol komentarza tj. # z początku linii i podstawić do konfiguracji własne parametry. Poniżej opisano najważniejsze zmiany, które trzeba wprowadzić w ww. pliku, aby serwer zaczął działać.

1. Konfigurujemy podstawowe opcje serwera (globalne):


default-lease-time 600;
max-lease-time 1000;

Znaczenie poszczególnych opcji:

2. Definiujemy pule adresów w pliku /etc/dhcp/dhcpd.conf


subnet 172.16.1.0 netmask 255.255.255.0 {
    range 172.16.1.100 172.16.1.200;
    option routers 172.16.1.1;
    option domain-name-servers 208.67.222.222;
}

Znaczenie poszczególnych opcji:

3. Jeśli chcemy mieć pewność, że serwer DHCP będzie działać tylko na interfejsie sieci LAN (aby nie zakłócać pracy sieci WAN), np. na eth1 / enp0s8, trzeba to zdefiniować w pliku /etc/default/isc-dhcp-server


INTERFACESv4="eth1"

lub


INTERFACESv4="enp0s8"

UWAGA
Nazwa interfejsu może być inna (np. esp0s8). Sprawdź wcześniej nazwy interfejsów poleceniem ip addr show.

4. Uruchamiany usługę serwera DHCP poleceniem:


# systemctl start isc-dhcp-server

lub


# service isc-dhcp-server start
[ ok ] Starting ISC DHCP server: dhcpd.
 

Po skonfigurowaniu i uruchomieniu serwer jest gotowy do przydzielania adresów IP. Kolejnym krokiem jest skonfigurowanie stacji roboczej z systemem Windows, aby system pobierał adres IP automatycznie ze skonfigurowanego serwera.

5.3. Statyczne wpisy na serwerze DHCP

Definiowanie statycznego powiązania przydzielanego adresu IP z adresem MAC wykonuje się w pliku /etc/dhcp/dhcpd.conf. Oczywiście wcześniej musimy poznać wszystkie adresy MAC komputerów klienckich. Można wykorzystać w systemach Windows polecenia getmac, lub ipconfig.

Edytujemy plik /etc/dhcp/dhcpd.conf dodając sekcję (przykład konfiguracji):


host Windows17-Tiny-v2 {
    hardware ethernet 08:00:27:aa:bb:cc;
    fixed-address 172.16.1.22;
}

host Windows13-Tiny-v3 {
    hardware ethernet 08:00:27:dd:ee:ff;
    fixed-address 172.16.1.33;
}

Znaczenie poszczególnych opcji:

UWAGA
Adres musi mieścić się w zakresie zdefiniowanym w sekcji subnet, ale powinien być poza zakresem zdefiniowanym przez parametr range.