Move s0 to using systemd networkd
This commit is contained in:
@@ -187,8 +187,7 @@ in
|
|||||||
# Enable systemd-networkd for bridge management
|
# Enable systemd-networkd for bridge management
|
||||||
systemd.network.enable = true;
|
systemd.network.enable = true;
|
||||||
|
|
||||||
# TODO: re-enable once primary networking uses networkd
|
systemd.network.wait-online.anyInterface = true;
|
||||||
systemd.network.wait-online.enable = false;
|
|
||||||
|
|
||||||
# Tell NetworkManager to ignore VPN bridge and container interfaces
|
# Tell NetworkManager to ignore VPN bridge and container interfaces
|
||||||
networking.networkmanager.unmanaged = mkIf config.networking.networkmanager.enable [
|
networking.networkmanager.unmanaged = mkIf config.networking.networkmanager.enable [
|
||||||
|
|||||||
@@ -60,16 +60,55 @@
|
|||||||
|
|
||||||
### networking ###
|
### networking ###
|
||||||
|
|
||||||
# systemd.network.enable = true;
|
systemd.network.enable = true;
|
||||||
networking = {
|
networking = {
|
||||||
# useNetworkd = true;
|
useNetworkd = true;
|
||||||
dhcpcd.enable = true;
|
useDHCP = false;
|
||||||
interfaces."eth0".useDHCP = true;
|
dhcpcd.enable = false;
|
||||||
interfaces."eth1".useDHCP = true;
|
};
|
||||||
|
|
||||||
defaultGateway = {
|
# eth0 — native VLAN 5 (main), default route, internet
|
||||||
address = "192.168.1.1";
|
# useDHCP generates the base 40-eth0 networkd unit and drives initrd DHCP for LUKS unlock.
|
||||||
|
networking.interfaces."eth0".useDHCP = true;
|
||||||
|
systemd.network.networks."40-eth0" = {
|
||||||
|
dhcpV4Config.RouteMetric = 100; # prefer eth0 over VLAN interfaces for default route
|
||||||
|
linkConfig.RequiredForOnline = "routable"; # wait-online succeeds once eth0 has a route
|
||||||
|
};
|
||||||
|
|
||||||
|
# eth1 — trunk port (no IP on the raw interface)
|
||||||
|
systemd.network.networks."10-eth1" = {
|
||||||
|
matchConfig.Name = "eth1";
|
||||||
|
networkConfig = {
|
||||||
|
VLAN = [ "vlan-iot" "vlan-mgmt" ];
|
||||||
|
LinkLocalAddressing = "no";
|
||||||
};
|
};
|
||||||
|
linkConfig.RequiredForOnline = "carrier";
|
||||||
|
};
|
||||||
|
|
||||||
|
# VLAN 2 — IoT (cameras, smart home)
|
||||||
|
systemd.network.netdevs."20-vlan-iot".netdevConfig = { Name = "vlan-iot"; Kind = "vlan"; };
|
||||||
|
systemd.network.netdevs."20-vlan-iot".vlanConfig.Id = 2;
|
||||||
|
systemd.network.networks."20-vlan-iot" = {
|
||||||
|
matchConfig.Name = "vlan-iot";
|
||||||
|
networkConfig.DHCP = "yes";
|
||||||
|
dhcpV4Config = {
|
||||||
|
UseGateway = false;
|
||||||
|
RouteMetric = 200;
|
||||||
|
};
|
||||||
|
linkConfig.RequiredForOnline = "no";
|
||||||
|
};
|
||||||
|
|
||||||
|
# VLAN 4 — Management
|
||||||
|
systemd.network.netdevs."20-vlan-mgmt".netdevConfig = { Name = "vlan-mgmt"; Kind = "vlan"; };
|
||||||
|
systemd.network.netdevs."20-vlan-mgmt".vlanConfig.Id = 4;
|
||||||
|
systemd.network.networks."20-vlan-mgmt" = {
|
||||||
|
matchConfig.Name = "vlan-mgmt";
|
||||||
|
networkConfig.DHCP = "yes";
|
||||||
|
dhcpV4Config = {
|
||||||
|
UseGateway = false;
|
||||||
|
RouteMetric = 300;
|
||||||
|
};
|
||||||
|
linkConfig.RequiredForOnline = "no";
|
||||||
};
|
};
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = "schedutil";
|
powerManagement.cpuFreqGovernor = "schedutil";
|
||||||
|
|||||||
Reference in New Issue
Block a user