blob: 800a32130046e5542b149b6d0cf72dfb62e14fb1 (
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
{ flakeRoot, ... }:
let
nsdPort = 5340;
in
{
services.nsd = {
enable = true;
interfaces = [ "127.0.0.1" ];
verbosity = 5;
port = nsdPort;
zones."sorre.internal." = {
data = builtins.readFile (flakeRoot + /etc/dns/sorre.internal.zone);
provideXFR = [ "127.0.0.1 NOKEY" ];
};
};
services.resolved.enable = false;
services.unbound = {
enable = true;
settings = {
server = {
interface = [
"127.0.0.1"
"2301:db8:acad:a::1"
];
verbosity = 5;
do-not-query-localhost = false;
access-control = [
# allow wireguard
"2301:db8:acad:a::/64 allow"
# allow localhost
"127.0.0.0/8 allow"
# block all else
"0.0.0.0/0 refuse"
"::0/0 refuse"
];
};
auth-zone = [
{
name = "sorre.internal.";
primary = "127.0.0.1@${toString nsdPort}";
fallback-enabled = false;
for-downstream = true;
}
];
};
};
}
|