DHCP service
1. About
The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used for automatically assigning IP addresses and other communication parameters to devices connected to the network.
2. Systems
2.2 Backend
Never use the backend nodes directly:
- backend may change without notice at any time (e.g. IP addresses, DNS records, configuration, etc.)
- backend has no legacy support or grace periods, changes are implemented instantly
- backend can be rebootet without notice at any time
- backend access will soon be restricted
FQDN | IPv6 | IPv4 |
---|---|---|
node1.dhcp.bfh.info | 2a07:6b40::31 | 147.87.0.31 |
node2.dhcp.bfh.info | 2a07:6b40::32 | 147.87.0.32 |
node3.dhcp.bfh.info | 2a07:6b40::33 | 147.87.0.33 |
node4.dhcp.bfh.info | 2a07:6b40::34 | 147.87.0.34 |
3. Features
3.1 Server
high-availabilty with 2 nodes in load-balancing and 2 nodes in backup configuration
requests are relayed via UDP instead of raw socket, supporting RFC6939
multi-threaded lease processing
multi-threaded lease synchronisation using dedicated HA control agents
persistent DHCP6 server ID with guaranteed fixed MACs
3.2 IPv4 options
DHCP options:
Router (3):
Domain Server (6): 147.87.0.10
Domain Name (15): bfh.ch
NTP Servers (42): 147.87.0.41, 147.87.0.42, 147.87.0.43, 147.87.0.44
Server-Name (66):
x86-BIOS: 147.87.24.37
x64-UEFI: 10.3.198.22
Bootfile-Name (67):
x86-BIOS: /boot/pxelinux/lpxelinux.0
x64-UEFI: smsboot\x64\wdsmgfw.efi
TCode (101): Europe/Zurich
Vendor options (43):
ZTP for Arista
WLC for Cisco WLAN APs
Kea options:
lfc-interval: 600
lease-checks: fix-del
reclaim-timer-wait-time: 10
flush-reclaimed-timer-wait-time: 25
hold-reclaimed-time: 3600
max-reclaim-leases: 100
max-reclaim-time: 250
unwarned-reclaim-cycles: 5
calculate-tee-times: true
min-valid-lifetime: 300
valid-lifetime: 600
max-valid-lifetime: 900
decline-probation-period: 3600,
3.4 DDNS Options
dns-send-updates: true
ddns-override-no-update: true
ddns-override-client-update: true
ddns-replace-client-name: when-not-present
ddns-generated-prefix: dhcp
ddns-qualifying-suffix: bfh.ch
ddns-update-on-renew: true
ddns-use-conflict-resolution: true
hostname-char-set: [^A-Za-z0-9.-]
hostname-char-replacement: _
4. Backlog
4.1 Legacy
2023: allow Microsoft Active Directory to write its zones
2023: use TSIG instead of IP allow-list for DDNS now that Infoblox is gone
2023-03-31: cleanup all unused reservations
????: retire msc-dhcp-temp.bfh.ch
4.2 Features
2023: logrotate /var/log/kea via kea-tools
2023: use bind-mounts for kea leases and logs for persistency
2023: think again about tls and kea-ctrl-agents, maybe apache reverse proxy for the one or the other
2023: verify and sync dhcp6 config from dhcp
2023: add bin/update in subnets
2023: add bin/check in subnets and kea repos
2023: setup stork
2023: verify if using postgresql as storage backend for all kea instances is a good idea
2023: disable NetBIOS over TCP/IP for Microsoft systems
????: benchmarking