server: switch to systemd-networkd

This commit is contained in:
chayleaf 2024-07-12 03:37:03 +07:00
parent 658732ec4e
commit 543611983c
Signed by: chayleaf
GPG key ID: 78171AD46227E68E
3 changed files with 22 additions and 6 deletions

View file

@ -35,8 +35,6 @@ in
"net.ipv4.tcp_congestion_control" = "bbr";
};
networking.useDHCP = true;
/*
# as expected, systemd initrd and networking didn't work well, and i really cba to debug it
networking.useDHCP = false;
networking.useNetworkd = true;
@ -52,8 +50,18 @@ in
networks."10-dhcp" = {
DHCP = "yes";
name = "e*";
networkConfig = {
IPv6AcceptRA = "yes";
};
dhcpV4Config = {
ClientIdentifier = "mac";
DUIDType = "link-layer";
};
dhcpV6Config = {
DUIDType = "link-layer";
};
};
};
};*/
boot.initrd = {
/*systemd = {
@ -79,10 +87,12 @@ in
preLVMCommands = lib.mkOrder 499 ''
ip link set end0 address ${router-config.router-settings.serverInitrdMac} || ip link set eth0 address ${router-config.router-settings.serverInitrdMac} || true
'';
postMountCommands = ''
ip link set end0 address ${router-config.router-settings.serverMac} || ip link set eth0 address ${router-config.router-settings.serverInitrdMac} || true
'';
# postMountCommands = ''
# ip link set end0 address ${router-config.router-settings.serverMac} || ip link set eth0 address ${router-config.router-settings.serverMac} || true
# '';
network.enable = true;
network.flushBeforeStage2 = true;
network.udhcpc.enable = true;
network.udhcpc.extraArgs = [ "-t100" ];
network.ssh = {
enable = true;

View file

@ -296,6 +296,7 @@ in {
{ ipAddress = lightBulbAddress6;
macAddress = cfg.lightBulbMac; }
{ ipAddress = serverInitrdAddress6;
duid = cfg.serverInitrdDuid;
macAddress = cfg.serverInitrdMac; }
];

View file

@ -70,6 +70,11 @@
description = "server's mac address in initrd";
type = lib.types.str;
};
serverInitrdDuid = lib.mkOption {
description = "server's duid in initrd";
type = with lib.types; nullOr str;
default = null;
};
vacuumMac = lib.mkOption {
description = "robot vacuum's mac address";
type = lib.types.str;