summaryrefslogtreecommitdiff
path: root/hosts/vidhar/dns
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/vidhar/dns')
-rw-r--r--hosts/vidhar/dns/default.nix89
-rw-r--r--hosts/vidhar/dns/zones/arpa.ip6.2.a.0.3.4.0.0.0.0.0.5.2.0.a.d.a.0.0.0.1.soa3
-rw-r--r--hosts/vidhar/dns/zones/yggdrasil.soa3
3 files changed, 30 insertions, 65 deletions
diff --git a/hosts/vidhar/dns/default.nix b/hosts/vidhar/dns/default.nix
index 11e6f55f..14d212e7 100644
--- a/hosts/vidhar/dns/default.nix
+++ b/hosts/vidhar/dns/default.nix
@@ -12,73 +12,36 @@ let
12 in filter (v: v != null) (mapAttrsToList toKeyInfo (builtins.readDir dir)); 12 in filter (v: v != null) (mapAttrsToList toKeyInfo (builtins.readDir dir));
13in { 13in {
14 config = { 14 config = {
15 services.unbound = { 15 services.knot-resolver = {
16 enable = true; 16 enable = true;
17 resolveLocalQueries = false;
18 stateDir = "/var/lib/unbound";
19 localControlSocketPath = "/run/unbound/unbound.ctl";
20 enableRootTrustAnchor = false;
21 settings = { 17 settings = {
22 server = { 18 network.listen = [
23 interface = ["lo" "lan"]; 19 { interface = "lo"; }
24 prefer-ip6 = true; 20 { interface = "lan"; freebind = true; }
25 access-control = ["0.0.0.0/0 allow" "::/0 allow"]; 21 ];
26 root-hints = "${pkgs.dns-root-data}/root.hints"; 22 forward = [
27 trust-anchor-file = "${pkgs.dns-root-data}/root.key"; 23 {
28 trust-anchor-signaling = false; 24 subtree = "yggdrasil.";
29 ip-dscp = 20; 25 servers = [ { address = "::1@5353"; } ];
30 26 options.dnssec = false;
31 num-threads = 12; 27 }
32 so-reuseport = true; 28 {
33 msg-cache-slabs = 16; 29 subtree = "141.10.in-addr.arpa.";
34 rrset-cache-slabs = 16; 30 servers = [ { address = "::1@5353"; } ];
35 infra-cache-slabs = 16; 31 options.dnssec = false;
36 key-cache-slabs = 16; 32 }
37 33 {
38 rrset-cache-size = "100m"; 34 subtree = "1.0.0.0.a.d.a.0.2.5.0.0.0.0.0.4.3.0.a.2.ip6.arpa.";
39 msg-cache-size = "50m"; 35 servers = [ { address = "::1@5353"; } ];
40 outgoing-range = 8192; 36 options.dnssec = false;
41 num-queries-per-thread = 4096; 37 }
42 38 ];
43 so-rcvbuf = "4m";
44 so-sndbuf = "4m";
45
46 # serve-expired = true;
47 # serve-expired-ttl = 86400;
48 # serve-expired-reply-ttl = 0;
49
50 prefetch = true;
51 prefetch-key = true;
52
53 minimal-responses = false;
54
55 extended-statistics = true;
56
57 rrset-roundrobin = true;
58 use-caps-for-id = true;
59
60 do-not-query-localhost = false;
61 local-zone = [
62 "141.10.in-addr.arpa. transparent"
63 "1.0.0.0.a.d.a.0.2.5.0.0.0.0.0.4.3.0.a.2.ip6.arpa. transparent"
64 "yggdrasil. transparent"
65 ];
66 domain-insecure = [
67 "141.10.in-addr.arpa."
68 "1.0.0.0.a.d.a.0.2.5.0.0.0.0.0.4.3.0.a.2.ip6.arpa."
69 "yggdrasil."
70 ];
71 };
72
73 stub-zone = map (name: {
74 inherit name;
75 stub-addr = "127.0.0.1@5353";
76 stub-first = true;
77 stub-no-cache = true;
78 stub-prime = false;
79 }) ["yggdrasil." "arpa.in-addr.10.141." "1.0.0.0.a.d.a.0.2.5.0.0.0.0.0.4.3.0.a.2.ip6.arpa."];
80 }; 39 };
81 }; 40 };
41 fileSystems."/var/cache/knot-resolver" = {
42 fsType = "tmpfs";
43 options = [ "size=200M" "nosuid" "nodev" "noexec" "mode=0700" ];
44 };
82 45
83 systemd.services.knot = { 46 systemd.services.knot = {
84 unitConfig.RequiresMountsFor = [ "/var/lib/knot" ]; 47 unitConfig.RequiresMountsFor = [ "/var/lib/knot" ];
diff --git a/hosts/vidhar/dns/zones/arpa.ip6.2.a.0.3.4.0.0.0.0.0.5.2.0.a.d.a.0.0.0.1.soa b/hosts/vidhar/dns/zones/arpa.ip6.2.a.0.3.4.0.0.0.0.0.5.2.0.a.d.a.0.0.0.1.soa
index 2d94b1e1..2613bbb7 100644
--- a/hosts/vidhar/dns/zones/arpa.ip6.2.a.0.3.4.0.0.0.0.0.5.2.0.a.d.a.0.0.0.1.soa
+++ b/hosts/vidhar/dns/zones/arpa.ip6.2.a.0.3.4.0.0.0.0.0.5.2.0.a.d.a.0.0.0.1.soa
@@ -1,7 +1,7 @@
1$ORIGIN 1.0.0.0.a.d.a.0.2.5.0.0.0.0.0.4.3.0.a.2.ip6.arpa. 1$ORIGIN 1.0.0.0.a.d.a.0.2.5.0.0.0.0.0.4.3.0.a.2.ip6.arpa.
2$TTL 300 2$TTL 300
3@ IN SOA vidhar.lan.yggdrasil. hostmaster.yggdrasil.li ( 3@ IN SOA vidhar.lan.yggdrasil. hostmaster.yggdrasil.li (
4 2023030501 ; serial 4 2026092400 ; serial
5 300 ; refresh 5 300 ; refresh
6 300 ; retry 6 300 ; retry
7 300 ; expire 7 300 ; expire
@@ -13,3 +13,4 @@ $TTL 300
130.0.0.0.0.0.0.0.0.0.0.0 IN PTR surtr.yggdrasil. 130.0.0.0.0.0.0.0.0.0.0.0 IN PTR surtr.yggdrasil.
140.0.0.0.0.0.0.0.0.0.0.1 IN PTR vidhar.yggdrasil. 140.0.0.0.0.0.0.0.0.0.0.1 IN PTR vidhar.yggdrasil.
150.0.0.0.0.0.0.0.0.0.0.2 IN PTR sif.yggdrasil. 150.0.0.0.0.0.0.0.0.0.0.2 IN PTR sif.yggdrasil.
160.0.0.0.0.0.0.0.0.0.0.3 IN PTR skadhi.yggdrasil.
diff --git a/hosts/vidhar/dns/zones/yggdrasil.soa b/hosts/vidhar/dns/zones/yggdrasil.soa
index dede06ac..1cb6b75c 100644
--- a/hosts/vidhar/dns/zones/yggdrasil.soa
+++ b/hosts/vidhar/dns/zones/yggdrasil.soa
@@ -1,7 +1,7 @@
1$ORIGIN yggdrasil. 1$ORIGIN yggdrasil.
2$TTL 300 2$TTL 300
3@ IN SOA vidhar.yggdrasil. hostmaster.yggdrasil.li ( 3@ IN SOA vidhar.yggdrasil. hostmaster.yggdrasil.li (
4 2024070901 ; serial 4 2026092400 ; serial
5 300 ; refresh 5 300 ; refresh
6 300 ; retry 6 300 ; retry
7 300 ; expire 7 300 ; expire
@@ -13,6 +13,7 @@ $TTL 300
13surtr IN AAAA 2a03:4000:52:ada:1:: 13surtr IN AAAA 2a03:4000:52:ada:1::
14vidhar IN AAAA 2a03:4000:52:ada:1:1:: 14vidhar IN AAAA 2a03:4000:52:ada:1:1::
15sif IN AAAA 2a03:4000:52:ada:1:2:: 15sif IN AAAA 2a03:4000:52:ada:1:2::
16skadhi IN AAAA 2a03:4000:52:ada:1:3::
16 17
17grafana.vidhar IN CNAME vidhar.yggdrasil. 18grafana.vidhar IN CNAME vidhar.yggdrasil.
18prometheus.vidhar IN CNAME vidhar.yggdrasil. 19prometheus.vidhar IN CNAME vidhar.yggdrasil.