DHCP¶
Wir interessieren uns für das (Debian-) Paket isc-dhcp-server
Anm.: für eine einfach Kombination aus DHCP und DNS kann man auch zu dnsmasq greifen.
Wir greifen aber zur vollständigen DHCP-Serverlösung.
Installation auf Maschine router
Wichtig
An richtigem Adapter (LAN-Seite) zur Verfügung stellen!
Vorbereitungen:
Konfiguration des Routers auf statische LAN-IP (z.B.): 172.16.1.1 / 24
Installation mittels apt install isc-dhcp-server
Die Installation quittiert am Ende mit Fehlern, da eine saubere Konfigurationen des DHCP-Servers noch fehlt.
root@vm-lpic-router:~# systemctl status isc-dhcp-server.service
isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
Active: failed (Result: exit-code) since Wed 2021-09-15 15:34:08 CEST; 35min ago
Docs: man:systemd-sysv-generator(8)
Process: 973 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=1/FAILURE)
CPU: 23ms
Sep 15 15:34:06 vm-lpic-router dhcpd[988]: before submitting a bug. These pages explain the proper
Sep 15 15:34:06 vm-lpic-router dhcpd[988]: process and the information we find helpful for debugging.
Sep 15 15:34:06 vm-lpic-router dhcpd[988]:
Sep 15 15:34:06 vm-lpic-router dhcpd[988]: exiting.
Sep 15 15:34:08 vm-lpic-router isc-dhcp-server[973]: Starting ISC DHCPv4 server: dhcpdcheck syslog for diagnostics. ...
Sep 15 15:34:08 vm-lpic-router isc-dhcp-server[993]: failed!
Sep 15 15:34:08 vm-lpic-router isc-dhcp-server[994]: failed!
Sep 15 15:34:08 vm-lpic-router systemd[1]: isc-dhcp-server.service: Control process exited, code=exited, status=1/FAILURE
Sep 15 15:34:08 vm-lpic-router systemd[1]: isc-dhcp-server.service: Failed with result 'exit-code'.
Sep 15 15:34:08 vm-lpic-router systemd[1]: Failed to start LSB: DHCP server.
Wir beginnen mit der Konfiguration des NIC-Adapters für DHCP:
/etc/default/isc-dhcp-server
(hier: LAN-seitiger eth1 von router)
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="eth1"
INTERFACESv6=""
Die eigentliche Konfiguration liegt in Standardverzeichnis:
/etc/dhcp/dhcpd.conf
Beispieleinträge / Konfigurationen (sollten vorher sauber bei Entwurf geplant werden!)
option domain-name "firma.local";
option domain-name-servers 8.8.8.8, 10.200.87.10;
...
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;
}
Wichtig: in Firmennetzen mit eigenem DNS bitte später die (zweite) DNS anpassen!
Kurzanleitungen im Web für Debian und den ISC DHCP Server:
https://wiki.debian.org/de/DHCP_Server
Der DHCP-Daemon lässt sich mit den üblichen Target/Runlevel Tools analysieren:
systemctl status|restart|stop|enable|disable isc-dhcp-server
Journaling:
journalctl -u isc-dhcp-server
(Journal / Logging auslesen - Anm.: Persistenz checken bzw. konfigurieren! Status bei Debian 11: persistent!)
Übersicht zu Leases/Releases des DHCP-Servers:
/var/lib/dhcp/dhcpd.leases
(alle Infos inkl. MACs oder Lease-Times)
Tipp
Nach DHCP-Server Implementierung Test mit Clients/Servern und Analyse der IP-Konfigurationen.
Übungen/Erinnerungen: Netzwerktechnik manuell/klassisch konfigurieren
Konfiguration der Debian-Systeme auf klassische statische Konfigurationen mit Hilfe der
Konfigurationsdatei /etc/network/interfaces
Hier: Auszug aus der Konfiguration (Anm.: die Zeile auto … ist heute oft verschwunden)
.....
auto enp0s3
allow-hotplug enp0s3
iface enp0s3 inet static
address 192.168.17.10
netmask 255.255.255.0
gateway 192.168.17.1
.....
Für die Konfiguration mittels DHCP ist es:
...
auto enp0s3
allow-hotplug enp0s3
iface enp0s3 inet dhcp
...
Für diese Netze bitte auch immer die Tools kennen: ip
, ifup
, ifdown
Beachten: bei Verwendung von NetworkManager (z.B. unter Gnome-Desktop) oder netconfig oder auch netplan (siehe Ubuntu Server) dann bitte abweichende Konfigurationsdateien beachten!
Über die /etc/resolv.conf
Kommentare erkennt man recht schnell die genutzte Technik.