From 47d2d6db2ebf7de759f8305ec56652cf27685ad0 Mon Sep 17 00:00:00 2001
From: lilly <li@lly.sh>
Date: Fri, 7 Mar 2025 21:18:51 +0100
Subject: [PATCH] sketchy-router: start configuring eh22 public network

---
 systems/sketchy-router.noc.eh22.intern.nix | 32 +++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/systems/sketchy-router.noc.eh22.intern.nix b/systems/sketchy-router.noc.eh22.intern.nix
index caf27b5..5c41901 100644
--- a/systems/sketchy-router.noc.eh22.intern.nix
+++ b/systems/sketchy-router.noc.eh22.intern.nix
@@ -28,6 +28,7 @@ in
     links = {
       "10-ethUpstream" = renameLink "BC:24:11:D2:69:8D" "ethUpstream";
       "10-ethMgmt" = renameLink "BC:24:11:A3:38:4E" "ethMgmt";
+      "10-ethPubUser" = renameLink "BC:24:11:8F:B3:83" "ethPubUsr";
     };
     networks = {
       "10-ethUpstream" = {
@@ -39,13 +40,20 @@ in
         matchConfig.Name = "ethMgmt";
         address = [ "10.20.25.2/24" ];
       };
+      "10-ethPubUsr" = {
+        matchConfig.Name = "ethPubUsr";
+        address = [ "10.0.0.1/24" ];
+      };
     };
   };
 
   networking.nat = {
     enable = true;
     externalInterface = "ethUpstream";
-    internalIPs = [ "10.20.25.0/24" ];
+    internalIPs = [
+      "10.20.25.0/24"
+      "10.0.0.0/24"
+    ];
   };
 
   services.kea.dhcp4 = {
@@ -91,6 +99,28 @@ in
             }
           ];
         }
+
+        {
+          name = "tempPublicUser";
+          interface = "ethPubUsr";
+          option-data = [
+            {
+              name = "routers";
+              data = "10.0.0.1";
+            }
+            {
+              name = "domain-name-servers";
+              data = "10.0.0.2";
+            }
+          ];
+          subnet4 = [
+            {
+              id = 999;
+              subnet = "10.0.0.0/24";
+              pools = [ { pool = "10.0.0.100 - 10.0.0.254"; } ];
+            }
+          ];
+        }
       ];
     };
   };