all repos — nixfiles @ 3bfd8e9a22ead8f4326fc2d74f23963e1b830d92

System and user configuration, managed by nix and home-manager

router: enable networking in initrd

Alin
commit

3bfd8e9a22ead8f4326fc2d74f23963e1b830d92

parent

32902b259507a04fa202f92dacf59058da29cf67

1 file changed, 36 insertions(+), 16 deletions(-)

changed files
M system/roles/router.nix → system/roles/router.nix
@@ -46,8 +46,10 @@
allProviders = lib.attrValues dnsProviders; mainProvider = dnsProviders.quad9; - lanCfg = config.systemd.network.networks."40-${lan}"; - myAddresses = map netlib.removeMask (lib.filter (a: !(a ? Scope || a ? Label)) lanCfg.addresses); + lanCfg = config.networking.interfaces.${lan}; + myAddresses = lib.filter (a: !(lib.strings.hasPrefix "fe80:" a)) ( + map (lib.getAttr "address") (lanCfg.ipv4.addresses ++ lanCfg.ipv6.addresses) + ); in { imports = [
@@ -55,6 +57,11 @@ # ./router/v6only.nix
../settings/services/adguard-home.nix ]; + boot.initrd = { + systemd.network.enable = true; + network.enable = true; + }; + networking = { useDHCP = false; hosts = lib.genAttrs myAddresses (
@@ -65,6 +72,31 @@ ]
); nameservers = lib.mkForce [ "::1" ]; + interfaces = { + br0 = { + ipv6 = { + addresses = [ + { + address = "${ulaPrefix}:42::1"; + prefixLength = 48; + } + { + address = "fe80::1"; + prefixLength = 64; + } + ]; + }; + ipv4 = { + addresses = [ + { + address = "10.0.0.1"; + prefixLength = 16; + } + ]; + }; + }; + }; + nat = { # TODO upstream changes somehow enable = false; # NixOS module is a bit limiting
@@ -119,18 +151,6 @@ };
networks = { "40-${lan}" = { matchConfig.Name = lan; - addresses = [ - { - Address = "fe80::1/64"; - Scope = "link"; - } - { - Address = "${ulaPrefix}:42::1/48"; - } - { - Address = "10.0.0.1/16"; - } - ]; networkConfig = { IPv6AcceptRA = false; DHCPPrefixDelegation = true;
@@ -157,7 +177,7 @@ DNS = builtins.filter netlib.isv6 myAddresses;
}; ipv6Prefixes = [ { - Prefix = "${ulaPrefix}:42::/56"; + Prefix = "${ulaPrefix}::/48"; AddressAutoconfiguration = false; Assign = false; }
@@ -307,7 +327,7 @@ dhcp-authoritative = true;
dhcp-rapid-commit = true; dhcp-range = [ "10.0.1.10,10.0.250.250,48h" - "${ulaPrefix}:42::10,${ulaPrefix}:42::ffff,64,48h" + "${ulaPrefix}:42::10,${ulaPrefix}:42::ffff:ffff,7d" # "set:ra6,::,constructor:${lan},ra-stateless" ];