router: try using networkd to handle IPv6 RA
1 file changed, 16 insertions(+), 4 deletions(-)
changed files
M system/roles/router.nix → system/roles/router.nix
@@ -109,9 +109,10 @@ DHCPPrefixDelegation = true; ConfigureWithoutCarrier = true; MulticastDNS = true; Domains = [ config.networking.domain ]; - LinkLocalAddressing = false; + LinkLocalAddressing = true; # required for networkd RA despite fe80::1 static assignment DNS = map (a: builtins.head (lib.strings.splitString "/" a)) address; DNSDefaultRoute = false; + IPv6SendRA = true; }; dhcpPrefixDelegationConfig = { UplinkInterface = wan;@@ -119,6 +120,18 @@ SubnetId = "42"; Assign = true; Token = "::1"; }; + ipv6SendRAConfig = { + Managed = true; + OtherInformation = true; + DNS = [ "_link_local" ]; + }; + ipv6Prefixes = [ + { + Prefix = "fd12:d04f:65d:42::/56"; + AddressAutoconfiguration = false; + Assign = false; + } + ]; }; "40-${wan}" = { matchConfig.Name = wan;@@ -239,15 +252,14 @@ interface = [ lan "lan*" ]; - enable-ra = true; + enable-ra = false; dhcp-fqdn = true; dhcp-authoritative = true; dhcp-rapid-commit = true; dhcp-range = [ "10.0.1.10,10.0.250.250,48h" - "fd12:d04f:65d:42::,slaac,ra-names,48h" - "::,constructor:${lan},ra-stateless" + "fd12:d04f:65d:42::10,fd12:d04f:65d:42::ffff,64,48h" ]; dns-loop-detect = true;