# » 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:
- default-lease-time – domyślny czas na jaki dzierżawione są adresy IP (w sekundach)
- max-lease-time – maksymalny czas na jaki dzierżawione są adresy IP (w sekundach)
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:
- subnet – definicja adresu sieci, w której będzie działał nasz serwer (bardzo ważne jest aby ten adres zgadzał się z adresem IP karty sieciowej podłączonej do sieci LAN)
- netmask – maska podsieci dla sieci (subnet) także musi się zgadzać z maską interfejsu LAN
- range – zakres, z którego będą przydzielane adresy (musi zgadzać się z subnet/netmask) w przykładzie jest to 100 adresów od 172.16.1.100 do 172.16.1.200
- option routers – adres bramy domyślnej przypisywanej hostom przez serwer
- option domain-name-serwers – adresy serwerów DNS przypisywanych przez serwer
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:
- host – początek deklaracji dla pojedynczego klienta (po słowie kluczowym podajemy dowolną wymyśloną nazwę hosta)
- hardware ethernet – adres fizyczny (MAC) klienta
- fixed-address – adres IP przypisany do wskazanego MAC-a
UWAGA
Adres musi mieścić się w zakresie zdefiniowanym w sekcji subnet, ale powinien być poza zakresem zdefiniowanym przez parametr range.
Sieci Komputerowe
poziom podstawowy
Sieci komputerowe
poziom zaawansowany
- Serwer Windows - Przygotowanie maszyny wirtualnej dla systemu Windows Server (wirtualizacja sieci)
- Serwer Windows - Instalacja i konfiguracja systemu Windows Server
- Serwer Windows - Serwer DNS w sieci lokalnej w oparciu o system Windows Server (DNS)
- Serwer Windows - Zapora sieciowa w systemie Windows Serwer (Firewall)
- Serwer Windows - Kontroler domeny w oparciu o Windows Server (AD DS)
- Serwer Windows - Tworzenie zespołu kart sieciowych (NIC Teaming) w systemie Windows Server (NIC Teaming)
Sieci komputerowe
poziom profesjonalny
- Serwer Linux - Przygotowanie maszyny wirtualnej (wirtualizacja sieci)
- Serwer Linux - Instalacja systemu
- Serwer Linux - Konfiguracja sieci
- Serwer Linux - Instalacja i konfiguracja SSH
- Serwer Linux - DHCP, dynamiczna konfiguracja adresacji hostów w sieci
- Serwer Linux - DNS, serwer nazw domenowych
- Serwer Linux - Serwer plików (FTP)