[2] Konfiguracja serwera DHCP

29 stycznia 2023 Wyłączono przez Adam [zicherka] Nogły

Należy upewnić się, że w sieci nie pracuje żaden inny serwer DHCP.
Jeśli tak – należy go wyłączyć!


Konfigurację rozpoczniemy od skopiowania przykładowego pliku konfiguracyjnego aby mieć możliwość powrotu do ustawień domyślnych:

root@vfbsd01:~ # cd /usr/local/etc/
root@vfbsd01:/usr/local/etc # cp dhcpd.conf dhcpd.conf.old
root@vfbsd01:/usr/local/etc # mcedit dhcpd.conf
# linia 7: zmień na Twoją domenę
option domain-name "zicher.lab";
# linia 8: zmień na Twoje serwery DNS (wpisz adresy IP)
option domain-name-servers 192.168.100.106, 1.1.1.1, 8.8.8.8;
# linia 14: odkomentuj i zmień
ddns-update-style none;
# linia 18: odkomentuj
authoritative;
# skasuj wszystkie wiersze od linii 24 do końca
# wpisz pierwszą deklarację definiującą podsieć
# określa sieć oraz jej maskę
subnet 192.168.100.0 netmask 255.255.255.0 {
# określa początek i koniec przydzielanych adresow IP klientom
range 192.168.100.160 192.168.100.166;
# określa bramę domyślną
option routers 192.168.100.254;
}

Aby demon dhcpd startował wraz z systemem należy do pliku [/etc/rc.conf] dodać:

root@vfbsd01:/usr/local/etc # mcedit /etc/rc.conf
# dodaj na końcu
dhcpd_enable="YES"

Uruchomimy teraz serwer ISC DHCP:

root@vfbsd01:/usr/local/etc # /usr/local/etc/rc.d/isc-dhcpd start
Starting dhcpd.
Internet Systems Consortium DHCP Server 4.4.2-P1
Copyright 2004-2021 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Config file: /usr/local/etc/dhcpd.conf
Database file: /var/db/dhcpd/dhcpd.leases
PID file: /var/run/dhcpd/dhcpd.pid
Wrote 0 leases to leases file.
Listening on BPF/vmx0/00:0c:29:dc:eb:5e/192.168.100.0/24
Sending on BPF/vmx0/00:0c:29:dc:eb:5e/192.168.100.0/24
Sending on Socket/fallback/fallback-net

Jak widać serwer w czasie startu podał wiele informacji, oraz napisał, że pracuje.

Przypisywanie adresów statycznych

Możemy tak skonfigurować ISC DHCP Server, aby przypisywał te same adresy IP dla konkretnego/konkretnych komputerów. Mówimy wtedy o statycznym przydzielaniu adresów IP. Jest to wykorzystywane na przykład dla drukarek sieciowych. Jednym z wymagań aby ta opcja działała jest informacja o adresie sprzętowy [MAC] karty sieciowej urządzenia/komputera, dla którego chcemy przydzielić statyczny adres IP.
Adres IP w systemie Unix/Linux możemy poznać za pomocą polecenia [ifconfig] lub [ip a]:

[root@vlsr01 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:87:03:e5 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.100/24 brd 192.168.100.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet6 fe80::ef43:898a:fae3:f6e1/64 scope link noprefixroute
valid_lft forever preferred_lft forever

Adres w tym wypadku jest wypisany po słowach [link/ether] dla karty sieciowej [ens192].
W systemie Windows używamy komendy [ipconfig /all]:

C:\Users\winuser>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : vwswks01
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter LAN-zicher.lab:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) Ethernet Connection (7) I219-V
Physical Address. . . . . . . . . : 00-D8-61-A6-72-5E
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::315c:337:f4b9:a9c1%15(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.100.151(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : niedziela, 23 października 2022 15:30:48
Lease Expires . . . . . . . . . . : poniedziałek, 24 października 2022 15:40:48
Default Gateway . . . . . . . . . : 192.168.100.254
DHCP Server . . . . . . . . . . . : 192.168.100.254
DHCPv6 IAID . . . . . . . . . . . : 100718689
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2A-CB-80-2D-00-D8-61-A6-72-5E
DNS Servers . . . . . . . . . . . : 192.168.100.100
1.1.1.1
NetBIOS over Tcpip. . . . . . . . : Enabled

Adres w tym wypadku jest wypisany po słowach [Physical Address] dla karty sieciowej [zicher.lab].
W przypadku urządzeń sieciowych, takich adresów MAC należy szukać na tabliczkach znamionowych, lub innych naklejkach na obudowie. Przeważnie są one w formacie:
XX-XX-XX-XX-XX-XX lub XX:XX:XX:XX:XX:XX

Edytujemy plik [/usr/local/etc/dhcpd.conf]:

root@vfbsd01:~ # mcedit /usr/local/etc/dhcpd.conf
# dodaj na końcu
host vkomp01.zicher.lab {
# znaki XX:XX:XX:XX:XX:XX zastąp właściwym adresem MAC komputera
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.100.170;
}

W polu [fixed-address] można podać pełną kwalifikowaną nazwę hosta (FQDN) jeśli odpowiedni wpis znajduje się w pliku stref serwera DNS.
Niedopuszczalne jest przypisywanie statycznych adresów z zakresu przydzielanego dynamicznie. Czyli nasz zakres wynosi 192.168.100.160 do 192.168.100.166, czyli adres 192.168.100.170 można przypisać, ale nie można przypisać adresu 192.168.100.161.
Restartujemy serwer DHCP:

root@vfbsd01:~ # /usr/local/etc/rc.d/isc-dhcpd restart

Dynamiczne aktualizacje DNS

W tym podrozdziale zostanie opisane jak skonfigurować automatyczne aktualizacje plików stref serwera ISC BIND z serwerem ISC DHCP. Wymagana jest wcześniejsza instalacja i konfiguracja serwera DNS zgodnie ze wskazówkami zawartymi w: Konfiguracja named.conf dla DHCP.
Najpierw trzeba skopiować zawartość pliku [rndc.key] do pliku konfiguracyjnego [dhcpd.conf]. Plik [rndc.key] znajduje się w [/usr/local/etc/namedb/].

root@vfbsd01:/usr/local/etc/namedb # cd /usr/local/etc
root@vfbsd01:/usr/local/etc # cp dhcpd.conf dhcpd.conf.old
root@vfbsd01:/usr/local/etc # cat /usr/local/etc/namedb/rndc.key >> dhcpd.conf

Następnie trzeba dodać na końcu pliku [dhcpd.conf] dwie deklaracje stref:

root@vfbsd01:~ # mcedit /usr/local/etc/dhcpd.conf
# linia 14: zmień
ddns-update-style interim;
# dodaj na końcu
zone zicher.lab. {
# adres IP serwera DNS
primary 192.168.100.106;
key rndc-key;
}

zone 100.168.192.in-addr.arpa. {
# adres IP serwera DNS
primary 192.168.100.106;
key rndc-key;
}

Jeśli nie została utworzona strefa wyszukiwania odwrotnego, to nie dodawaj jej deklaracji do [dhcpd.conf].
Jeśli ustawiłeś przynajmniej jedno przypisywanie adresow statycznych, to trzeba o tym poinformować serwery DHCP i DNS dodając następujący wiersz do pliku [dhcpd.conf]:

root@vfbsd01:~ # mcedit /usr/local/etc/dhcpd.conf
# dodaj na końcu
update-static-leases on;

Restartujemy serwery DNS i DHCP:

root@vfbsd01:~ # /usr/local//etc/rc.d/named restart && /usr/local/etc/rc.d/isc-dhcp