From c1a76b4403edcf5e2a147d68b7bbdf1c33ac95ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sat, 27 Jan 2024 13:20:03 +0100 Subject: Rework routers to use systemd-networkd --- nixos/machine/adm-omnia.nix | 68 ++++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 20 deletions(-) (limited to 'nixos/machine/adm-omnia.nix') diff --git a/nixos/machine/adm-omnia.nix b/nixos/machine/adm-omnia.nix index fd6d654..088481f 100644 --- a/nixos/machine/adm-omnia.nix +++ b/nixos/machine/adm-omnia.nix @@ -9,7 +9,7 @@ with lib; { cynerd = { router = { enable = true; - wan = "end2"; # TODO pppoe-wan + wan = "pppoe-wan"; lanIP = config.cynerd.hosts.adm.omnia; }; wifiAP.adm = { @@ -21,8 +21,53 @@ with lib; { monitoring.speedtest = true; }; + networking.useDHCP = false; + systemd.network = { + networks = { + "end2" = { + matchConfig.Name = "end2"; + #networkConfig = { + # DHCP = "ipv6"; + # IPv6AcceptRA = "yes"; + # DHCPPrefixDelegation = "yes"; + #}; + #dhcpPrefixDelegationConfig = { + # UplinkInterface = ":self"; + # SubnetId = 0; + # Announce = "no"; + #}; + linkConfig.RequiredForOnline = "routable"; + }; + "lan-brlan" = { + matchConfig.Name = "lan[1-4]"; + networkConfig.Bridge = "brlan"; + bridgeVLANs = [ + { + bridgeVLANConfig = { + EgressUntagged = 1; + PVID = 1; + }; + } + {bridgeVLANConfig.VLAN = 2;} + ]; + }; + "lan0-guest" = { + matchConfig.Name = "lan0"; + networkConfig.Bridge = "brlan"; + bridgeVLANs = [ + { + bridgeVLANConfig = { + EgressUntagged = 2; + PVID = 2; + }; + } + ]; + }; + }; + }; + services.pppd = { - enable = false; + enable = true; peers."wan".config = '' plugin pppoe.so end2 ifname pppoe-wan @@ -38,23 +83,6 @@ with lib; { password 02 ''; }; - #systemd.services."pppd-wan".after = ["sys-subsystem-net-devices-end2.device"]; - - environment.systemPackages = [pkgs.tcpdump]; - - networking = { - useNetworkd = true; - useDHCP = false; - }; - systemd.network.networks = { - "lan-brlan" = { - matchConfig.Name = "lan[1-4]"; - networkConfig.Bridge = "brlan"; - }; - "lan0-brguest" = { - matchConfig.Name = "lan0"; - networkConfig.Bridge = "brguest"; - }; - }; + systemd.services."pppd-wan".after = ["sys-subsystem-net-devices-end2.device"]; }; } -- cgit v1.2.3