DHCP Dienst auf dem DC1 installieren und konfigurieren

Wir installieren den DHCP-Dienst auf dem Domänen-Controller.
Wir gehen auf die Shell-Ebene des Domänen-Controllers (172.16.0.10) und installieren das benötigte Paket, den isc-dhcp-server.
Wir gehen auf die Shell-Ebene des Domänen-Controllers (172.16.0.10) und installieren das benötigte Paket, den isc-dhcp-server.
# apt install isc-dhcp-server

Nach der Installation wird automatisch der DHCP Server gestartet. Wir bekommen allerdings Fehlermeldung. Wir nutzen 1 Netzwerkkarte, aber dennoch müssen wir in Default Einstellungen den Namen der Netzwerkkarte eintragen. Mit dem Befehl ip a können wir den Namen der Netzwerkkarte herausfinden. In unserem Fall ist das ens18. Auf einer anderen Hardware kann es anders heißen.
root@dc1:/# 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: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether be:57:23:bd:63:17 brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 172.16.0.10/22 brd 172.16.3.255 scope global ens18
valid_lft forever preferred_lft forever
inet6 fe80::bc57:23ff:febd:6317/64 scope link
valid_lft forever preferred_lft forever
root@dc1:/#
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: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether be:57:23:bd:63:17 brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 172.16.0.10/22 brd 172.16.3.255 scope global ens18
valid_lft forever preferred_lft forever
inet6 fe80::bc57:23ff:febd:6317/64 scope link
valid_lft forever preferred_lft forever
root@dc1:/#

Wir öffnen die Datei: vim.tiny /etc/default/isc-dhcp-server und ändern den Eintrag für die Netzwerkkarte. Danach können wir den Server neu starten, wir müssen es allerdings nicht.
von
...
INTERFACESv4=""
INTERFACESv6=""
auf
...
INTERFACESv4="ens18"
# INTERFACESv6=""
...
INTERFACESv4=""
INTERFACESv6=""
auf
...
INTERFACESv4="ens18"
# INTERFACESv6=""

Den Inhalt der Datei /etc/dhcp/dhcpd.conf löschen wir und definieren unsere eigene Konfiguration.
option domain-name "schule.lan";
option domain-name-servers 172.16.0.10;
# eine Woche. Das kann mann selbstverständlich ändern
default-lease-time 604800;
# eine Woche + 1 Tag
max-lease-time 691200;
ddns-update-style none;
authoritative;
subnet 172.16.0.0 netmask 255.255.252.0 {
# Gibt es keine Range werden keine IP-Verteilt nur IP Reservierungen
# werden vergeben.
range 172.16.0.21 172.16.3.200;
option subnet-mask 255.255.252.0;
option broadcast-address 172.16.3.255;
option routers 172.16.0.1;
option domain-name "schule.wlan";
# option domain-search "schule.wlan","mono.plan";
option domain-search "schule.wlan";
option domain-name-servers 172.16.0.10;
include "/etc/dhcp/geraete-dhcp.conf"; #EXTERNAL FILE
}
option domain-name-servers 172.16.0.10;
# eine Woche. Das kann mann selbstverständlich ändern
default-lease-time 604800;
# eine Woche + 1 Tag
max-lease-time 691200;
ddns-update-style none;
authoritative;
subnet 172.16.0.0 netmask 255.255.252.0 {
# Gibt es keine Range werden keine IP-Verteilt nur IP Reservierungen
# werden vergeben.
range 172.16.0.21 172.16.3.200;
option subnet-mask 255.255.252.0;
option broadcast-address 172.16.3.255;
option routers 172.16.0.1;
option domain-name "schule.wlan";
# option domain-search "schule.wlan","mono.plan";
option domain-search "schule.wlan";
option domain-name-servers 172.16.0.10;
include "/etc/dhcp/geraete-dhcp.conf"; #EXTERNAL FILE
}

Auf dem DHCP Server können wir auch für bestimmte Geräte bestimmte IP-Adressen reservieren. Zu diesem Zweck erstellen wir die Datei /etc/dhcp/geraete-dhcp.conf. Auch, wenn wir keine Reservierungen brauchen, muss die Datei existieren, weil der Pfad sich in unserer Konfigurationsdatei /etc/dhcp/dhcpd.conf befindet.
root@dc1:/# nano /etc/dhcp/geraete-dhcp.conf

Sollten wir IP Reservierung für bestimmte Geräte brauchen, dann können wir die Datei /etc/dhcp/geraete-dhcp.conf verwenden. Es wird der Gerätename, die MAC-Adresse des Gerätes und die gewünschte IP-Adresse eingetragen. Der Gerätename muss nicht mit dem wirklichen Namen des Gerätes übereinstimmen. Das ist nur für uns eine Orientierung. Die Namen dürfen sich nicht wiederholen. Die Datei kann z.B. so aussehen.
host PC1-R206 { hardware ethernet D0:C0:BF:4C:BE:E5; fixed-address 172.16.0.121; }
host PC3-R207 { hardware ethernet D0:C0:BF:4D:5E:E9; fixed-address 172.16.0.122; }
host PC3-R207 { hardware ethernet D0:C0:BF:4D:5E:E9; fixed-address 172.16.0.122; }

Den DHCP Dienst können wir neu starten.
root@dc1:/# systemctl restart isc-dhcp-server.service
Der DHCP Server ist Betriebsbereit.