From: Michael Tremer Date: Sat, 16 May 2026 13:24:03 +0000 (+0100) Subject: knot-resolver: Configure DHCP lease forward lookups X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f40e68bc1cb9aa0ffcaeb487b5f39c49cc88faa8;p=ipfire-2.x.git knot-resolver: Configure DHCP lease forward lookups Signed-off-by: Michael Tremer --- diff --git a/config/knot-resolver/kresd.conf b/config/knot-resolver/kresd.conf index 0515796f6..31886219a 100644 --- a/config/knot-resolver/kresd.conf +++ b/config/knot-resolver/kresd.conf @@ -433,9 +433,40 @@ local function load_rpzs() RPZ_CACHE = rpz_cache end +local function load_leases() + -- Load DHCP settings + local settings = load_settings("/var/ipfire/dhcp/settings") + + -- Skip this if DNS UPDATE is being used instead + if settings["DNS_UPDATE_ENABLED"] == "on" then + return + end + + -- Enabled on GREEN? + if settings["ENABLE_GREEN"] == "on" then + policy.add( + policy.suffix(leases.answer(), { + todname(settings["DOMAIN_NAME_GREEN"]) + }) + ) + end + + -- Enabled on BLUE? + if settings["ENABLE_BLUE"] == "on" then + policy.add( + policy.suffix(leases.answer(), { + todname(settings["DOMAIN_NAME_BLUE"]) + }) + ) + end + + -- TODO Reverse lookup +end + -- Reload policy if the DNS settings change call_on_change( { + "/var/ipfire/dhcp/settings", "/var/ipfire/dns/servers", "/var/ipfire/dns/settings", "/var/ipfire/dnsforward/config" @@ -462,6 +493,9 @@ call_on_change( -- Load Forwarding Rules load_forwarding() + -- Load DHCP Leases Lookup + load_leases() + -- Load Forwarders load_forwarders(settings) end