From f3dfa9543e0e1c8af585886cb39be843019369fd Mon Sep 17 00:00:00 2001 From: "Giulio De Pasquale (aider)" Date: Tue, 22 Apr 2025 16:30:32 +0100 Subject: [PATCH] feat: add unique CoreDNS views for each VPN-defined host with forwarding --- hosts/architect/dns.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hosts/architect/dns.nix b/hosts/architect/dns.nix index 393c0a9..2aa686b 100644 --- a/hosts/architect/dns.nix +++ b/hosts/architect/dns.nix @@ -11,6 +11,18 @@ let let architectIP = config.architect.networks.${iface}.devices.architect.address; interfaceNet = config.architect.networks.${iface}.net; + deviceViews = concatMapStrings (deviceName: device: + let + deviceIP = device.address; + in + '' + view ${deviceName} { + expr client_ip() == '${deviceIP}' + + forward . 8.8.8.8 + } + '' + ) (builtins.attrValues config.architect.networks.${iface}.devices); in '' ${domain} { @@ -29,6 +41,7 @@ let cache log } + ${deviceViews} '' ) conf.dnsInterfaces;