{ config, pkgs, lib, ...}: { networking.firewall.interfaces.ens18.allowedUDPPorts = [ 53 ]; networking.firewall.interfaces.ens18.allowedTCPPorts = [ 9253 9353 9453 9553 ]; services.coredns = { enable = true; config = '' .:53 { errors cache { success 1000000 denial 50000 prefetch 6 10m 10% serve_stale } prometheus 10.42.10.8:9253 forward . 2620:fe::fe 9.9.9.9 2620:fe::9 149.112.112.112 } bula22.de { errors prometheus 10.42.10.8:9353 file /etc/zones/db.bula22.de } oncamp.lama.vcp.de { errors prometheus 10.42.10.8:9453 file /etc/zones/db.oncamp.lama.vcp.de } oncamp.m2yk8s.de { errors prometheus 10.42.10.8:9553 file /etc/zones/db.oncamp.m2yk8s.de } 42.10.in-addr.arpa { file /etc/zones/db.42.10.in-addr.arpa. } 2.4.0.0.0.1.0.0.0.0.d.f.ip6.arpa { file /etc/zones/db.2.4.0.0.0.1.0.0.0.0.d.f.ip6.arpa. } 1.2.2.8.c.0.c.1.8.f.4.0.1.0.a.2.ip6.arpa { file /etc/zones/db.1.2.2.8.c.0.c.1.8.f.4.0.1.0.a.2.ip6.arpa. } ''; }; systemd.services.coredns.restartTriggers = [ config.environment.etc."zones/db.bula22.de".source config.environment.etc."zones/db.oncamp.lama.vcp.de".source config.environment.etc."zones/db.oncamp.m2yk8s.de".source config.environment.etc."zones/db.42.10.in-addr.arpa.".source config.environment.etc."zones/db.2.4.0.0.0.1.0.0.0.0.d.f.ip6.arpa.".source config.environment.etc."zones/db.1.2.2.8.c.0.c.1.8.f.4.0.1.0.a.2.ip6.arpa.".source ]; environment = { etc = { "zones/db.bula22.de".source = ./zones/db.bula22.de; "zones/db.oncamp.lama.vcp.de".source = ./zones/db.oncamp.lama.vcp.de; "zones/db.oncamp.m2yk8s.de".source = ./zones/db.oncamp.m2yk8s.de; "zones/db.42.10.in-addr.arpa.".source = ./zones/db.42.10.in-addr.arpa.; "zones/db.2.4.0.0.0.1.0.0.0.0.d.f.ip6.arpa.".source = ./zones/db.2.4.0.0.0.1.0.0.0.0.d.f.ip6.arpa.; "zones/db.1.2.2.8.c.0.c.1.8.f.4.0.1.0.a.2.ip6.arpa.".source = ./zones/db.1.2.2.8.c.0.c.1.8.f.4.0.1.0.a.2.ip6.arpa.; }; }; } #