mirror of
https://github.com/mdlayher/homelab.git
synced 2024-12-14 11:47:32 +00:00
nixos/servnerr-3: switch to systemd-networkd
Signed-off-by: Matt Layher <mdlayher@gmail.com>
This commit is contained in:
parent
d0d232945c
commit
3bc7b80d4e
2 changed files with 68 additions and 29 deletions
|
@ -7,38 +7,14 @@ in {
|
|||
# Hardware and base system configuration.
|
||||
./hardware-configuration.nix
|
||||
./lib/system.nix
|
||||
./networking.nix
|
||||
./storage.nix
|
||||
|
||||
# Service configuration.
|
||||
./containers.nix
|
||||
./prometheus.nix
|
||||
./storage.nix
|
||||
];
|
||||
|
||||
networking = {
|
||||
# Host name and ID.
|
||||
hostName = "servnerr-3";
|
||||
hostId = "efdd2a1b";
|
||||
|
||||
# No local firewall.
|
||||
firewall.enable = false;
|
||||
|
||||
# Set up a bridge interface for VMs which is tagged into a lab VLAN.
|
||||
bridges.br0.interfaces = [ "enp6s0" ];
|
||||
|
||||
# Use DHCP for all interfaces, but force the deprecated global setting off.
|
||||
useDHCP = false;
|
||||
interfaces = {
|
||||
# 1GbE on management.
|
||||
enp5s0.useDHCP = true;
|
||||
|
||||
# 10GbE VLAN.
|
||||
enp12s0.useDHCP = true;
|
||||
|
||||
# 1GbE on Lab VLAN.
|
||||
br0.useDHCP = false;
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
loader = {
|
||||
|
@ -90,10 +66,10 @@ in {
|
|||
pprof = true;
|
||||
};
|
||||
|
||||
interfaces = lib.forEach [ "enp5s0" ] (name: {
|
||||
inherit name;
|
||||
interfaces = [{
|
||||
names = [ "mgmt0" ];
|
||||
monitor = true;
|
||||
});
|
||||
}];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
63
nixos/servnerr-3/networking.nix
Normal file
63
nixos/servnerr-3/networking.nix
Normal file
|
@ -0,0 +1,63 @@
|
|||
{ lib, ... }:
|
||||
|
||||
{
|
||||
networking = {
|
||||
# Host name and ID.
|
||||
hostName = "servnerr-3";
|
||||
hostId = "efdd2a1b";
|
||||
|
||||
# Use systemd-networkd for configuration. Forcibly disable legacy DHCP client.
|
||||
useNetworkd = true;
|
||||
useDHCP = false;
|
||||
|
||||
# No local firewall.
|
||||
firewall.enable = false;
|
||||
};
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
|
||||
# 1GbE management LAN.
|
||||
links."10-mgmt0" = {
|
||||
matchConfig.MACAddress = "1c:1b:0d:ea:83:0f";
|
||||
linkConfig.Name = "mgmt0";
|
||||
};
|
||||
networks."10-mgmt0" = {
|
||||
matchConfig.Name = "mgmt0";
|
||||
networkConfig.DHCP = "ipv4";
|
||||
};
|
||||
|
||||
# 1GbE lab LAN, attached to br0 for VMs.
|
||||
links."11-lab0" = {
|
||||
matchConfig.MACAddress = "1c:1b:0d:ea:83:11";
|
||||
linkConfig.Name = "lab0";
|
||||
};
|
||||
netdevs."11-br0".netdevConfig = {
|
||||
Name = "br0";
|
||||
Kind = "bridge";
|
||||
};
|
||||
# TODO(mdlayher): enable after reconfiguring switch.
|
||||
networks."11-br0" = {
|
||||
enable = false;
|
||||
matchConfig.Name = "br0";
|
||||
networkConfig.DHCP = "ipv4";
|
||||
};
|
||||
networks."11-lab0" = {
|
||||
enable = false;
|
||||
matchConfig.Name = "lab0";
|
||||
networkConfig.Bridge = "br0";
|
||||
};
|
||||
|
||||
# 10GbE LAN.
|
||||
links."12-tengb0" = {
|
||||
matchConfig.MACAddress = "90:e2:ba:5b:99:80";
|
||||
linkConfig.Name = "tengb0";
|
||||
};
|
||||
networks."12-tengb0" = {
|
||||
# TODO(mdlayher): enable after setting up switch.
|
||||
enable = false;
|
||||
matchConfig.Name = "tengb0";
|
||||
networkConfig.DHCP = "ipv4";
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue