FISI – Systemintegration

DHCP als Buch · 36/50 · 24 Min. angesetzt – Langform, jedes Wort zählt

DHCP unter Linux

Unter Linux ist DHCP kein Klick-Assistent. Drei Familien begegnen dir: ISC dhcpd (alt, noch in Büchern), Kea (aktueller Nachfolger), dnsmasq (klein, oft auf Firewalls und Labors). Der Dienst lauscht auf einem Interface. Bindest du ihn an eth0 und die Clients sitzen hinter eth1 ohne Relais, bleibt das Segment leer.

isc-dhcp-server, die Prüfungssprache

subnet 10.20.30.0 netmask 255.255.255.0 {
  range 10.20.30.50 10.20.30.200;
  option routers 10.20.30.1;
  option domain-name-servers 10.20.30.10, 10.20.30.11;
  option domain-name "intra.example";
  default-lease-time 28800;
  max-lease-time 86400;
}
host drucker-lager {
  hardware ethernet a1:b2:c3:d4:e5:f6;
  fixed-address 10.20.30.20;
}

Datei typisch /etc/dhcp/dhcpd.conf. Syntax prüfen, Dienst neu laden, Log lesen. leases liegen oft in /var/lib/dhcp/dhcpd.leases – das ist der Zustand, nicht die Konfig.

sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf
sudo systemctl restart isc-dhcp-server
journalctl -u isc-dhcp-server -e
sudo ss -ulnp | grep :67

Client Linux

Je nach Distribution: NetworkManager, systemd-networkd, ifupdown, dhcpcd. ip addr zeigt die Adresse, nicht wer sie gab. journalctl -u NetworkManager oder dmesg nach DHCP. dhclient -v eth0 ist der klassische Debug, wo Discover und Offer im Terminal stehen.

ip addr show
ip route
resolvectl status
sudo dhclient -v eth0
# mit tcpdump den Dialog sehen:
sudo tcpdump -ni eth0 port 67 or port 68

Kea und dnsmasq in einem Absatz

Kea spricht JSON und hat Hooks für Lease-Datenbanken – in größeren Höfen. dnsmasq mischt DHCP und DNS auf einem kleinen Kasten; praktisch im Labor, gefährlich wenn er unbeabsichtigt Autorität vorspielt. In der IHK reicht: Interface, Subnetz, Range, Optionen, Log, tcpdump.

  • AppArmor/SELinux kann dhcpd am Socket hindern – Dienst grün, Port zu.
  • Zwei dhcpd auf demselben VLAN ohne Split sind ein Duell.
  • fixed-address ohne passendes subnet-Statement wird oft ignoriert.

Prüfung

dhcpd.leases ist …