diff --git a/configurations/nixos/defiant/configuration.nix b/configurations/nixos/defiant/configuration.nix index 40adbd5..f45f4ac 100644 --- a/configurations/nixos/defiant/configuration.nix +++ b/configurations/nixos/defiant/configuration.nix @@ -113,6 +113,10 @@ }; }; + # bond0 and wg0 are managed by systemd-networkd; tell NetworkManager to + # leave them alone so NM-wait-online doesn't time out waiting for them. + networking.networkmanager.unmanaged = ["bond0" "wg0" "eno1" "eno2"]; + systemd.network = { enable = true; @@ -123,8 +127,8 @@ Name = "bond0"; }; bondConfig = { - Mode = "802.3ad"; - TransmitHashPolicy = "layer3+4"; + Mode = "active-backup"; + PrimaryReselectPolicy = "always"; }; }; @@ -158,7 +162,7 @@ networkConfig.DHCP = "yes"; address = [ - "192.168.1.10/32" + "192.168.1.2/24" ]; # Set lower priority for default gateway to allow WireGuard interface binding @@ -174,6 +178,8 @@ "50-wg0" = { matchConfig.Name = "wg0"; + # Don't block networkd-wait-online on the VPN tunnel coming up + linkConfig.RequiredForOnline = "no"; networkConfig = { DHCP = "no"; }; diff --git a/configurations/nixos/defiant/hardware-configuration.nix b/configurations/nixos/defiant/hardware-configuration.nix index d4a638b..56227b7 100644 --- a/configurations/nixos/defiant/hardware-configuration.nix +++ b/configurations/nixos/defiant/hardware-configuration.nix @@ -44,11 +44,16 @@ networks = { "30-eno1" = { matchConfig.Name = "eno1"; - networkConfig.Bond = "bond0"; + networkConfig = { + Bond = "bond0"; + PrimarySlave = true; + }; + linkConfig.RequiredForOnline = "enslaved"; }; "30-eno2" = { matchConfig.Name = "eno2"; networkConfig.Bond = "bond0"; + linkConfig.RequiredForOnline = "enslaved"; }; }; };