From 9bff1f171e337867849b69c704dcdffa658cf68a Mon Sep 17 00:00:00 2001 From: Astro Date: Thu, 14 Sep 2023 18:22:28 +0200 Subject: [PATCH] switch-ds3: deploy --- config/net/mgmt.nix | 1 + config/secrets-production.nix.gpg | 146 +++++++++++++++--------------- config/secrets.nix | 1 + config/switch.nix | 64 +++++++++++-- 4 files changed, 131 insertions(+), 81 deletions(-) diff --git a/config/net/mgmt.nix b/config/net/mgmt.nix index b61f801..eefb7e9 100644 --- a/config/net/mgmt.nix +++ b/config/net/mgmt.nix @@ -98,6 +98,7 @@ switch-b3 = "10.0.0.18"; switch-ds1 = "10.0.0.20"; switch-ds2 = "10.0.0.21"; + switch-ds3 = "10.0.0.22"; }; hosts6 = { dn42 = { diff --git a/config/secrets-production.nix.gpg b/config/secrets-production.nix.gpg index ad761ee..39c33b1 100644 --- a/config/secrets-production.nix.gpg +++ b/config/secrets-production.nix.gpg @@ -1,76 +1,76 @@ -----BEGIN PGP MESSAGE----- -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 -Rmax/XN+U1apZtOMls8w9//dIId8 -=4rTB +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 +H7LQa4a6w/XCWiK76sSeuNMdxpe9MBiv +=t+Av -----END PGP MESSAGE----- diff --git a/config/secrets.nix b/config/secrets.nix index 9e9eaf2..1882686 100644 --- a/config/secrets.nix +++ b/config/secrets.nix @@ -73,6 +73,7 @@ switch-dach.password = "encrypted"; switch-ds1.password = "encrypted"; switch-ds2.password = "encrypted"; + switch-ds3.password = "encrypted"; upstream4.interfaces.up4-pppoe.upstream = { user = "encrypted"; diff --git a/config/switch.nix b/config/switch.nix index b75485d..ab1d3f5 100644 --- a/config/switch.nix +++ b/config/switch.nix @@ -350,21 +350,21 @@ "GigabitEthernet1/0/19" "GigabitEthernet1/0/20" ]; - # Uplink - switch-a1.ports = [ "GigabitEthernet1/0/24" ]; # Freifunk bmx.ports = [ "GigabitEthernet1/0/21" "GigabitEthernet1/0/22" "GigabitEthernet1/0/23" ]; + # Uplink + switch-a1.ports = [ "GigabitEthernet1/0/24" ]; }; }; switch-ds2 = { role = "switch"; model = "3com-5500G"; - location = "Vor dem Kl Saal"; + location = "Grosser Saal oben"; interfaces = { mgmt.type = "phys"; }; links = { @@ -389,16 +389,64 @@ "GigabitEthernet1/0/17" "GigabitEthernet1/0/18" "GigabitEthernet1/0/19" - "GigabitEthernet1/0/20" ]; - # Uplink - switch-a1.ports = [ "GigabitEthernet1/0/24" ]; - # Freifunk - bmx.ports = [ + # Stage uplink + priv25.ports = [ + "GigabitEthernet1/0/20" "GigabitEthernet1/0/21" + ]; + # VOC isolated + iso4.ports = [ "GigabitEthernet1/0/22" "GigabitEthernet1/0/23" ]; + # Uplink + switch-a1.ports = [ "GigabitEthernet1/0/24" ]; + }; + }; + + switch-ds3 = { + firstboot = true; + role = "switch"; + model = "3com-5500G"; + location = "Kleiner Saal"; + interfaces = { mgmt.type = "phys"; }; + + links = { + # Public + pub.ports = [ + "GigabitEthernet1/0/1" + "GigabitEthernet1/0/2" + "GigabitEthernet1/0/3" + "GigabitEthernet1/0/4" + "GigabitEthernet1/0/5" + "GigabitEthernet1/0/6" + "GigabitEthernet1/0/7" + "GigabitEthernet1/0/8" + "GigabitEthernet1/0/9" + "GigabitEthernet1/0/10" + "GigabitEthernet1/0/11" + "GigabitEthernet1/0/12" + "GigabitEthernet1/0/13" + "GigabitEthernet1/0/14" + "GigabitEthernet1/0/15" + "GigabitEthernet1/0/16" + "GigabitEthernet1/0/17" + "GigabitEthernet1/0/18" + "GigabitEthernet1/0/19" + ]; + # Stage uplink + priv25.ports = [ + "GigabitEthernet1/0/20" + "GigabitEthernet1/0/21" + ]; + # VOC isolated + iso4.ports = [ + "GigabitEthernet1/0/22" + "GigabitEthernet1/0/23" + ]; + # Uplink + switch-a1.ports = [ "GigabitEthernet1/0/24" ]; }; }; };