summaryrefslogtreecommitdiff
path: root/config/networking/services/dns.nix
blob: 5b4d99becd3e9f6600f7f0715f030a3418312c44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{config, ...}: let
  subnets = builtins.catAttrs "subnet" (builtins.attrValues config.personal.networking.interfaces.all);
in {
  services.unbound = {
    enable = true;
    settings = {
      server = {
        module-config = ''"respip validator iterator"'';
        interface =
          [
            "127.0.0.1"
          ]
          ++ builtins.map ({prefix, ...}: "${prefix}.1") subnets;
        access-control =
          [
            "0.0.0.0/0 refuse"
            "127.0.0.0/8 allow"
          ]
          ++ builtins.map ({
            prefix,
            prefixLength,
          }: "${prefix}.0/${builtins.toString prefixLength} allow")
          subnets;
      };
      rpz.name = "rpz.oisd.nl";
    };
  };
}