about summary refs log tree commit diff
path: root/machines/lapin.nix
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2023-10-18 19:25:05 +0000
committerMel <einebeere@gmail.com>2023-10-18 19:25:05 +0000
commit97f123c6b86671f3bd158d57849af529c24b3edb (patch)
tree3a4b12768de0704d490f5c43ca46e8e388d99758 /machines/lapin.nix
parentef5de4798a22801a1e67d63d9078c039ab13f94c (diff)
downloadrnrd-97f123c6b86671f3bd158d57849af529c24b3edb.tar.zst
rnrd-97f123c6b86671f3bd158d57849af529c24b3edb.zip
Add static IPv4 config
Diffstat (limited to 'machines/lapin.nix')
-rw-r--r--machines/lapin.nix35
1 files changed, 21 insertions, 14 deletions
diff --git a/machines/lapin.nix b/machines/lapin.nix
index 7e4ef8b..ddeace0 100644
--- a/machines/lapin.nix
+++ b/machines/lapin.nix
@@ -2,22 +2,36 @@
 
 {
   networking = {
-    defaultGateway = "172.31.1.1";
-    nameservers = [ "2606:4700:4700::1111" "2606:4700:4700::1001" ];
+    useDHCP = false;
+    nameservers = [
+      "1.1.1.1" "1.0.0.1"
+      "2606:4700:4700::1111" "2606:4700:4700::1001"
+    ];
   };
 
   systemd.network.enable = true;
   systemd.network.networks."10-wan" = {
-    matchConfig.Name = "enp1s0";
-    networkConfig.DHCP = "ipv4";
-    address = [ "2a01:4f8:c012:9493::1" ];
-    routes = [ { routeConfig.Gateway = "fe80::1"; } ];
+    name = "enp1s0";
+    DHCP = "no";
+    address = [ 
+      "2a01:4f8:c012:9493::1"
+      "138.201.117.99"
+    ];
+    routes = [ 
+      { routeConfig.Gateway = "fe80::1"; }
+      { routeConfig.Destination = "172.31.1.1"; }
+      { routeConfig = { Gateway = "172.31.1.1"; GatewayOnLink = true; }; }
+    ];
   };
 
   services.resolved = {
+    # LLMNR and MulticastDNS both give DNS timeouts.
+    # MDNS specifically for some reason gives Docker bridge interfaces it's scope,
+    # which means every DNS request waits for an answer... from every interface... 
     llmnr = "false";
+    extraConfig = "MulticastDNS=no";
     dnssec = "false"; # DNSSEC breaks IPv6, for some reason :(
-  };  
+  };
   
   virtualisation.docker.daemon.settings = {
     "experimental" = true;
@@ -29,13 +43,6 @@
       { base = "172.17.0.0/16"; size = 24; }
       { base = "fc00:d0c::/32"; size = 48; }
     ];
-    # This is the default Tailscale MTU.
-    # Necessary since we proxy IPv4 requests through another node
-    # and the container does not differentiate the IPv6 (enp1s0) and
-    # IPv4 (tailscale0) interfaces like the host.
-    # Can be removed when I find a better method to support IPv4 on
-    # IPv6 only hosts.
-    "mtu" = 1280;
   };
 
   services.nginx.virtualHosts = {