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"
-- Load Forwarding Rules
load_forwarding()
+ -- Load DHCP Leases Lookup
+ load_leases()
+
-- Load Forwarders
load_forwarders(settings)
end