From be54d946f38c20c4cbe6fe56f99e3284996ec03d Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Sat, 8 Mar 2025 13:06:11 -0800 Subject: [PATCH] WIP: router: attempt removing networkd, some bs testing --- hosts/router/default.nix | 48 +++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/hosts/router/default.nix b/hosts/router/default.nix index 4438aa7..6f8fe72 100644 --- a/hosts/router/default.nix +++ b/hosts/router/default.nix @@ -230,8 +230,8 @@ let matchConfig.Name = ifObj.name; networkConfig = { IPv4Forwarding = true; - IPv6SendRA = true; - Address = [ ifObj.addr4Sized ]; + IPv6SendRA = (ifObj.name != ifs.lan10.name); # TODO: temporary test, remove + Address = [ ifObj.addr4Sized ifObj.addr6Sized ifObj.ulaAddrSized ]; }; ipv6Prefixes = [ { @@ -396,7 +396,7 @@ in ifs.lan50.name ]; }; - "30-vlan10" = mkLanConfig ifs.lan10; + # "30-vlan10" = mkLanConfig ifs.lan10; "30-vlan20" = mkLanConfig ifs.lan20 // { routes = [ { @@ -412,6 +412,43 @@ in }; }; +# networking.interfaces.${ifs.lan10.name} = { +# ipv4.addresses = [ { address = ifs.lan10.addr4; prefixLength = ifs.lan10.p4Size; } ]; +# ipv6.addresses = [ +# { +# address = ifs.lan10.addr6; +# prefixLength = ifs.lan10.p6Size; +# } +# { +# address = ifs.lan10.ulaAddr; +# prefixLength = ifs.lan10.ulaSize; +# } +# ]; +# }; + + services.radvd.enable = true; + services.radvd.config = '' + interface ${ifs.lan10.name} { + RDNSS ${ifs.lan.ulaAddr} { + }; + AdvSendAdvert on; + # MinRtrAdvInterval 3; + # MaxRtrAdvInterval 10; + AdvManagedFlag on; + # AdvOtherConfigFlag on; + prefix ${ifs.lan10.net6} { + AdvOnLink on; + AdvAutonomous on; + }; + prefix ${ifs.lan10.ulaNet} { + AdvOnLink on; + AdvAutonomous on; + }; + route ${ulaPrefix}::/48 { + }; + }; + ''; + networking.firewall.enable = false; networking.nftables.enable = true; networking.nftables.tables.firewall = { @@ -441,7 +478,8 @@ in set port_forward_v6 { type inet_proto . ipv6_addr . inet_service elements = { - tcp . ${ifs.lan.p6}::11:1 . https + tcp . ${ifs.lan.p6}::11:1 . https, + tcp . ${ifs.lan.p6}:1cd5:56ff:feec:c74a . https, } } @@ -645,7 +683,7 @@ in "@@||googleads.g.doubleclick.net" ] # Alpina DNS rewrites - ++ map (host: "${host}${domain}^$dnsrewrite=${ifs.lan.p6}::11:1") alpinaDomains + ++ map (host: "${host}${domain}^$dnsrewrite=${ifs.lan.p6}:1cd5:56ff:feec:c74a") alpinaDomains ++ map (host: "${host}${domain}^$dnsrewrite=${ifs.lan.p4}.11") alpinaDomains; };