summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hosts/demiurge/default.nix69
1 files changed, 32 insertions, 37 deletions
diff --git a/hosts/demiurge/default.nix b/hosts/demiurge/default.nix
index 9c781ca..9f35926 100644
--- a/hosts/demiurge/default.nix
+++ b/hosts/demiurge/default.nix
@@ -121,21 +121,22 @@
121 }; 121 };
122 122
123 # mullvad 123 # mullvad
124 wireguard.interfaces.wg0 = { 124 wg-quick.interfaces.wg0 = {
125 ips = [ 125 address = [
126 "10.68.117.111/32" 126 "10.68.117.111/32"
127 "fc00:bbbb:bbbb:bb01::5:756e/128" 127 "fc00:bbbb:bbbb:bb01::5:756e/128"
128 ]; 128 ];
129 privateKeyFile = config.age.secrets.wg0_demiurge.path; 129 privateKeyFile = config.age.secrets.wg0_demiurge.path;
130 130
131 postSetup = '' 131 # supposed to be done by tailscale instead \_(:/)_/
132 ip route add 45.134.142.206 via 192.168.1.1 132 postUp = ''
133 ip route add default via 45.134.142.206 133 ip route add 100.64.0.0/24 dev tailscale0
134 ''; 134 ip route add 100.100.100.100/32 dev tailscale0
135 postShutdown = '' 135 '';
136 ip route del default via 45.134.142.206 136 postDown = ''
137 ip route del 45.134.142.206 via 192.168.1.1 137 ip route del 100.64.0.0/24 dev tailscale0
138 ''; 138 ip route del 100.100.100.100/32 dev tailscale0
139 '';
139 140
140 peers = [ 141 peers = [
141 { 142 {
@@ -253,12 +254,12 @@
253 services = { 254 services = {
254 # dns 255 # dns
255 unbound = { 256 unbound = {
256 enable = false; 257 enable = true;
257 settings = { 258 settings = {
258 server = { 259 server = {
259 interface = [ 260 interface = [
260 "127.0.0.1" 261 "127.0.0.1"
261 "10.0.13.2" 262 "100.64.0.2"
262 "fd00:b0ba:cafe:babe::2" 263 "fd00:b0ba:cafe:babe::2"
263 "::1" 264 "::1"
264 ]; 265 ];
@@ -273,6 +274,24 @@
273 # Synthesize NXDOMAINs from DNSSEC NSEC chains. 274 # Synthesize NXDOMAINs from DNSSEC NSEC chains.
274 # https://tools.ietf.org/html/rfc8198 275 # https://tools.ietf.org/html/rfc8198
275 aggressive-nsec = false; 276 aggressive-nsec = false;
277
278 module-config = "\"respip validator iterator\"";
279
280 local-data = [
281 "\"saklas.epistemia. 86400 IN A 100.64.0.1\""
282 "\"demiurge.epistemia. 86400 IN A 100.64.0.2\""
283 "\"hastur.epistemia. 86400 IN A 100.64.0.3\""
284 "\"iphonebob.epistemia. 86400 IN A 100.64.0.4\""
285 "\"lab.epistemia. 86400 IN A 100.64.0.5\""
286 ];
287
288 local-zone = [
289 "\"saklas.epistemia.\" redirect"
290 "\"demiurge.epistemia.\" redirect"
291 "\"hastur.epistemia.\" redirect"
292 "\"iphonebob.epistemia.\" redirect"
293 "\"lab.epistemia.\" redirect"
294 ];
276 }; 295 };
277 296
278 # hagezi for dns-based adblocking (in addition to others) 297 # hagezi for dns-based adblocking (in addition to others)
@@ -285,32 +304,8 @@
285 # go through mullvad for regular dns queries 304 # go through mullvad for regular dns queries
286 forward-zone = { 305 forward-zone = {
287 name = "."; 306 name = ".";
288 forward-addr = [ "100.64.0.3" ]; 307 forward-addr = [ "194.242.2.2" ];
289 }; 308 };
290
291 local-data = [
292 "demiurge.epistemia. 86400 IN A 10.0.13.2"
293 "demiurge.epistemia. 86400 IN AAAA fd00:b0ba:cafe:babe::2"
294 "hastur.epistemia. 86400 IN A 10.0.13.3"
295 "hastur.epistemia. 86400 IN AAAA fd00:b0ba:cafe:babe::3"
296 "iphonebob.epistemia. 86400 IN A 10.0.13.4"
297 "iphonebob.epistemia. 86400 IN AAAA fd00:b0ba:cafe:babe::4"
298 "lab.epistemia. 86400 IN A 10.0.13.5"
299 "lab.epistemia. 86400 IN AAAA fd00:b0ba:cafe:babe::5"
300 "paraclete.epistemia. 86400 IN A 10.0.13.6"
301 "paraclete.epistemia. 86400 IN AAAA fd00:b0ba:cafe:babe::6"
302 "saklas.epistemia. 86400 IN A 10.0.13.1"
303 "saklas.epistemia. 86400 IN AAAA fd00:b0ba:cafe:babe::1"
304 ];
305
306 local-zone = [
307 "\"demiurge.epistemia.\" redirect"
308 "\"hastur.epistemia.\" redirect"
309 "\"iphonebob.epistemia.\" redirect"
310 "\"lab.epistemia.\" redirect"
311 "\"paraclete.epistemia.\" redirect"
312 "\"saklas.epistemia.\" redirect"
313 ];
314 }; 309 };
315 }; 310 };
316 311