Using a dedicated Kea DHCP server
-
For those who use a dedicated Kea DHCP server(s) in addition to their FOG servers. Here is a
kea-dhcp4.confexample file you can use on your dedicated Kea DHCP server.{ # Converted to kea-dhcp4.conf. # From FOG server's DHCP configuration: dhcpd.conf # # DHCP Server Configuration file\n#see /usr/share/doc/dhcp*/dhcpd.conf.sample # "Dhcp4": { "interfaces-config": { "interfaces": [ "ens18" ] }, "control-socket": { "socket-type": "unix", "socket-name": "kea4-ctrl-socket" }, "lease-database": { // Memfile is the simplest and easiest backend to use. It's an in-memory // C++ database that stores its state in CSV file. "type": "memfile", "lfc-interval": 3600 }, "expired-leases-processing": { "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 }, "renew-timer": 900, "rebind-timer": 1800, "valid-lifetime": 3600, # # Definition of PXE-specific options # Code 1: Multicast IP Address of bootfile # Code 2: UDP Port that client should monitor for MTFTP Responses # Code 3: UDP Port that MTFTP servers are using to listen for MTFTP requests # Code 4: Number of seconds a client must listen for activity before trying # to start a new MTFTP transfer # Code 5: Number of seconds a client must listen before trying to restart # a MTFTP transfer "option-def": [ { "space": "PXE", "name": "mtftp-ip", "code": 1, "type": "ipv4-address" }, { "space": "PXE", "name": "mtftp-cport", "code": 2, "type": "uint16" }, { "space": "PXE", "name": "mtftp-sport", "code": 3, "type": "uint16" }, { "space": "PXE", "name": "mtftp-tmout", "code": 4, "type": "uint8" }, { "space": "PXE", "name": "mtftp-delay", "code": 5, "type": "uint8" } ], "option-data": [ { "name": "domain-name-servers", "code": 6, "data": "10.1.1.2" }, { "name": "domain-name", "code": 15, "data": "xyz.internal" }, { "name": "domain-search", "data": "xyz.internal" }, { "name": "default-ip-ttl", "data": "0xf0" }, { "name": "subnet-mask", "code": 1, "data": "255.0.0.0" }, { "name": "routers", "code": 3, "data": "10.1.1.1" } ], "subnet4": [ { "id": 1, "subnet": "10.0.0.0/8", "pools": [ { "pool": "10.2.0.1 - 10.2.255.254" } ], "valid-lifetime": 21600, "max-valid-lifetime": 43200, "next-server": "10.1.1.3" } ], "client-classes": [ { "name": "Legacy", "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00000'", "boot-file-name": "undionly.kkpxe" }, { "name": "UEFI-32-2", "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00002'", "boot-file-name": "i386-efi/snponly.efi" }, { "name": "UEFI-32-1", "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00006'", "boot-file-name": "i386-efi/snponly.efi" }, { "name": "UEFI-64-1", "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00007'", "boot-file-name": "snponly.efi" }, { "name": "UEFI-64-2", "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00008'", "boot-file-name": "snponly.efi" }, { "name": "UEFI-64-3", "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00009'", "boot-file-name": "snponly.efi" }, { "name": "UEFI-ARM64", "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00011'", "boot-file-name": "arm64-efi/snponly.efi" }, { "name": "SURFACE-PRO-4", "test": "substring(option[60].hex,0,32) == 'PXEClient:Arch:00007:UNDI:003016'", "boot-file-name": "snponly.efi" }, ], "loggers": [ { "name": "kea-dhcp4", "output-options": [ { "output": "/var/log/kea/kea-dhcp4.log" } ], "severity": "INFO", "debuglevel": 0 } ] } } -
@Alun Thank you and added to documentation and within the installer to try to more cleanly account for this.