Files
nixos/hosts/fw.cloonar.com/modules/networking.nix
2023-11-30 22:18:17 +01:00

75 lines
1.6 KiB
Nix

{ ... }: {
systemd.network.links."10-wan" = {
matchConfig.PermanentMACAddress = "a8:b8:e0:00:43:c1";
linkConfig.Name = "wan";
};
systemd.network.links."20-lan" = {
matchConfig.PermanentMACAddress = "a8:b8:e0:00:43:c2";
linkConfig.Name = "lan";
};
systemd.network.links."30-server" = {
matchConfig.PermanentMACAddress = "a8:b8:e0:00:43:c3";
linkConfig.Name = "server";
};
networking = {
useDHCP = false;
nameservers = [ "9.9.9.9" "149.112.112.112" ];
# Define VLANS
vlans = {
multimedia = {
id = 3;
interface = "enp5s0";
};
smart = {
id = 4094;
interface = "enp5s0";
};
guest = {
id = 100;
interface = "enp5s0";
};
};
interfaces = {
# Don't request DHCP on the physical interfaces
lan.useDHCP = false;
server.useDHCP = false;
enp5s0.useDHCP = false;
# Handle the VLANs
wan.useDHCP = true;
lan = {
ipv4.addresses = [{
address = "10.42.96.1";
prefixLength = 24;
}];
};
server = {
ipv4.addresses = [{
address = "10.42.97.1";
prefixLength = 24;
}];
};
multimedia = {
ipv4.addresses = [{
address = "10.42.99.1";
prefixLength = 24;
}];
};
smart = {
ipv4.addresses = [{
address = "10.42.100.1";
prefixLength = 24;
}];
};
guest = {
ipv4.addresses = [{
address = "10.42.254.1";
prefixLength = 24;
}];
};
};
};
}