f3: uninstall because broken
[sourcephile-nix.git] / hosts / mermet / unbound.nix
index 0f983b50bf30aaf775ea707014cf2608355f8af4..316725968835200b8891e11f0330f44576a17cba 100644 (file)
@@ -2,7 +2,6 @@
 let
   inherit (config.services) unbound;
   inherit (config.users) users;
-  stateDir = "/var/lib/unbound";
 in
 {
 networking.resolvconf.useLocalResolver = true;
@@ -22,7 +21,16 @@ services.unbound = {
     server = {
       log-queries = false;
       verbosity = 1;
-      interface = [ "127.0.0.1" "::1" ];
+      interface = [
+        "127.0.0.1"
+        "::1"
+      ];
+      access-control = [
+        "0.0.0.0/0 refuse"
+        "::0/0 refuse"
+        "127.0.0.0/8 allow"
+        "::1 allow"
+      ];
       prefer-ip4 = !config.networking.enableIPv6;
       port = 53;
 
@@ -136,18 +144,20 @@ services.unbound = {
   };
 };
 networking.nftables.ruleset = ''
-  add rule inet filter fw2net tcp dport 53 skuid ${users.unbound.name} counter accept comment "Unbound"
-  add rule inet filter fw2net udp dport 53 skuid ${users.unbound.name} counter accept comment "Unbound"
+  table inet filter {
+    chain output-net {
+      skuid ${users.unbound.name} \
+        meta l4proto { udp, tcp } th dport domain \
+        counter accept comment "unbound"
+    }
+  }
 '';
 systemd.services.unbound = {
   serviceConfig = {
-    RuntimeDirectory = "unbound";
-    RuntimeDirectoryMode = "0700";
+    #RuntimeDirectoryMode = "0700";
+    BindReadOnlyPaths = [
+     "${../../networking/named.root}:/var/lib/unbound/named.root"
+    ];
   };
-  preStart = ''
-    install -m 444 \
-     ${../../networking/named.root} \
-     /var/lib/unbound/named.root
-  '';
 };
 }