Update interface names because usePredictableInterfaceNames is now off

This commit is contained in:
2026-03-01 14:09:01 -08:00
parent e4f0d065f9
commit 000bbd7f4d
2 changed files with 17 additions and 16 deletions

View File

@@ -42,5 +42,6 @@
} }
]; ];
networking.usePredictableInterfaceNames = true;
networking.interfaces.eth0.useDHCP = true; networking.interfaces.eth0.useDHCP = true;
} }

View File

@@ -1,4 +1,4 @@
{ lib, pkgs, modulesPath, ... }: { modulesPath, ... }:
{ {
imports = imports =
@@ -67,17 +67,17 @@
dhcpcd.enable = false; dhcpcd.enable = false;
}; };
# eth0 — native VLAN 5 (main), default route, internet # eno1 — native VLAN 5 (main), default route, internet
# useDHCP generates the base 40-eth0 networkd unit and drives initrd DHCP for LUKS unlock. # useDHCP generates the base 40-eno1 networkd unit and drives initrd DHCP for LUKS unlock.
networking.interfaces."eth0".useDHCP = true; networking.interfaces."eno1".useDHCP = true;
systemd.network.networks."40-eth0" = { systemd.network.networks."40-eno1" = {
dhcpV4Config.RouteMetric = 100; # prefer eth0 over VLAN interfaces for default route dhcpV4Config.RouteMetric = 100; # prefer eno1 over VLAN interfaces for default route
linkConfig.RequiredForOnline = "routable"; # wait-online succeeds once eth0 has a route linkConfig.RequiredForOnline = "routable"; # wait-online succeeds once eno1 has a route
}; };
# eth1 — trunk port (no IP on the raw interface) # eno2 — trunk port (no IP on the raw interface)
systemd.network.networks."10-eth1" = { systemd.network.networks."40-eno2" = {
matchConfig.Name = "eth1"; matchConfig.Name = "eno2";
networkConfig = { networkConfig = {
VLAN = [ "vlan-iot" "vlan-mgmt" ]; VLAN = [ "vlan-iot" "vlan-mgmt" ];
LinkLocalAddressing = "no"; LinkLocalAddressing = "no";
@@ -86,9 +86,9 @@
}; };
# VLAN 2 — IoT (cameras, smart home) # VLAN 2 — IoT (cameras, smart home)
systemd.network.netdevs."20-vlan-iot".netdevConfig = { Name = "vlan-iot"; Kind = "vlan"; }; systemd.network.netdevs."50-vlan-iot".netdevConfig = { Name = "vlan-iot"; Kind = "vlan"; };
systemd.network.netdevs."20-vlan-iot".vlanConfig.Id = 2; systemd.network.netdevs."50-vlan-iot".vlanConfig.Id = 2;
systemd.network.networks."20-vlan-iot" = { systemd.network.networks."50-vlan-iot" = {
matchConfig.Name = "vlan-iot"; matchConfig.Name = "vlan-iot";
networkConfig.DHCP = "yes"; networkConfig.DHCP = "yes";
dhcpV4Config = { dhcpV4Config = {
@@ -99,9 +99,9 @@
}; };
# VLAN 4 — Management # VLAN 4 — Management
systemd.network.netdevs."20-vlan-mgmt".netdevConfig = { Name = "vlan-mgmt"; Kind = "vlan"; }; systemd.network.netdevs."50-vlan-mgmt".netdevConfig = { Name = "vlan-mgmt"; Kind = "vlan"; };
systemd.network.netdevs."20-vlan-mgmt".vlanConfig.Id = 4; systemd.network.netdevs."50-vlan-mgmt".vlanConfig.Id = 4;
systemd.network.networks."20-vlan-mgmt" = { systemd.network.networks."50-vlan-mgmt" = {
matchConfig.Name = "vlan-mgmt"; matchConfig.Name = "vlan-mgmt";
networkConfig.DHCP = "yes"; networkConfig.DHCP = "yes";
dhcpV4Config = { dhcpV4Config = {