mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-12-07 05:27:13 -06:00
265 lines
5.2 KiB
Nix
Executable file
265 lines
5.2 KiB
Nix
Executable file
# This is someone else's network config, however they use VLANs. I am not using VLANs. I'm just connecting my microVMs to the general LAN for now.
|
|
|
|
{
|
|
enable = true;
|
|
netdevs = {
|
|
"vlan-mgmt" = {
|
|
netdevConfig = {
|
|
Name = "vlan-mgmt";
|
|
Kind = "vlan";
|
|
};
|
|
vlanConfig.Id = 50;
|
|
};
|
|
"br-mgmt" = {
|
|
netdevConfig = {
|
|
Name = "br-mgmt";
|
|
Kind = "bridge";
|
|
};
|
|
};
|
|
|
|
"vlan-minio" = {
|
|
netdevConfig = {
|
|
Name = "vlan-minio";
|
|
Kind = "vlan";
|
|
};
|
|
vlanConfig.Id = 51;
|
|
};
|
|
"br-minio" = {
|
|
netdevConfig = {
|
|
Name = "br-minio";
|
|
Kind = "bridge";
|
|
};
|
|
bridgeConfig = {
|
|
STP = true;
|
|
};
|
|
};
|
|
|
|
"vlan-forgejo" = {
|
|
netdevConfig = {
|
|
Name = "vlan-forgejo";
|
|
Kind = "vlan";
|
|
};
|
|
vlanConfig.Id = 52;
|
|
};
|
|
"br-forgejo" = {
|
|
netdevConfig = {
|
|
Name = "br-forgejo";
|
|
Kind = "bridge";
|
|
};
|
|
bridgeConfig = {
|
|
STP = true;
|
|
};
|
|
};
|
|
|
|
"vlan-nexus" = {
|
|
netdevConfig = {
|
|
Name = "vlan-nexus";
|
|
Kind = "vlan";
|
|
};
|
|
vlanConfig.Id = 53;
|
|
};
|
|
"br-nexus" = {
|
|
netdevConfig = {
|
|
Name = "br-nexus";
|
|
Kind = "bridge";
|
|
};
|
|
bridgeConfig = {
|
|
STP = true;
|
|
};
|
|
};
|
|
|
|
"vlan-cloud" = {
|
|
netdevConfig = {
|
|
Name = "vlan-cloud";
|
|
Kind = "vlan";
|
|
};
|
|
vlanConfig.Id = 54;
|
|
};
|
|
"br-cloud" = {
|
|
netdevConfig = {
|
|
Name = "br-cloud";
|
|
Kind = "bridge";
|
|
};
|
|
bridgeConfig = {
|
|
STP = true;
|
|
};
|
|
};
|
|
|
|
"vlan-caddy" = {
|
|
netdevConfig = {
|
|
Name = "vlan-caddy";
|
|
Kind = "vlan";
|
|
};
|
|
vlanConfig.Id = 55;
|
|
};
|
|
"br-caddy" = {
|
|
netdevConfig = {
|
|
Name = "br-caddy";
|
|
Kind = "bridge";
|
|
};
|
|
bridgeConfig = {
|
|
STP = true;
|
|
};
|
|
};
|
|
|
|
"vlan-website" = {
|
|
netdevConfig = {
|
|
Name = "vlan-website";
|
|
Kind = "vlan";
|
|
};
|
|
vlanConfig.Id = 56;
|
|
};
|
|
"br-website" = {
|
|
netdevConfig = {
|
|
Name = "br-website";
|
|
Kind = "bridge";
|
|
};
|
|
bridgeConfig = {
|
|
STP = true;
|
|
};
|
|
};
|
|
};
|
|
|
|
networks = {
|
|
"trunk-nic" = {
|
|
matchConfig.Name = "enp3s0f0";
|
|
vlan = [
|
|
"vlan-mgmt"
|
|
"vlan-minio"
|
|
"vlan-forgejo"
|
|
"vlan-nexus"
|
|
"vlan-cloud"
|
|
"vlan-caddy"
|
|
"vlan-website"
|
|
];
|
|
};
|
|
|
|
"vlan-mgmt-net" = {
|
|
matchConfig.Name = "vlan-mgmt";
|
|
bridge = [ "br-mgmt" ];
|
|
};
|
|
"host-on-mgmt" = {
|
|
matchConfig.Name = "br-mgmt";
|
|
networkConfig = {
|
|
Address = [ "10.0.50.2/24" ];
|
|
Gateway = "10.0.50.1";
|
|
DNS = [ "10.0.50.1" ];
|
|
};
|
|
};
|
|
|
|
"vlan-minio-net" = {
|
|
matchConfig.Name = "vlan-minio";
|
|
bridge = [ "br-minio" ];
|
|
};
|
|
"host-on-minio" = {
|
|
matchConfig.Name = "br-minio";
|
|
};
|
|
|
|
"vlan-forgejo-net" = {
|
|
matchConfig.Name = "vlan-forgejo";
|
|
bridge = [ "br-forgejo" ];
|
|
};
|
|
"host-on-forgejo" = {
|
|
matchConfig.Name = "br-forgejo";
|
|
};
|
|
|
|
"vlan-nexus-net" = {
|
|
matchConfig.Name = "vlan-nexus";
|
|
bridge = [ "br-nexus" ];
|
|
};
|
|
"host-on-nexus" = {
|
|
matchConfig.Name = "br-nexus";
|
|
};
|
|
|
|
"vlan-cloud-net" = {
|
|
matchConfig.Name = "vlan-cloud";
|
|
bridge = [ "br-cloud" ];
|
|
};
|
|
"host-on-cloud" = {
|
|
matchConfig.Name = "br-cloud";
|
|
};
|
|
|
|
"vlan-caddy-net" = {
|
|
matchConfig.Name = "vlan-caddy";
|
|
bridge = [ "br-caddy" ];
|
|
};
|
|
"host-on-caddy" = {
|
|
matchConfig.Name = "br-caddy";
|
|
};
|
|
|
|
"vlan-website-net" = {
|
|
matchConfig.Name = "vlan-website";
|
|
bridge = [ "br-website" ];
|
|
};
|
|
"host-on-website" = {
|
|
matchConfig.Name = "br-website";
|
|
};
|
|
|
|
"vm-taps-minio" = {
|
|
matchConfig = {
|
|
Name = "vm-minio";
|
|
};
|
|
networkConfig = {
|
|
Description = "minio VM tap interface";
|
|
Bridge = "br-minio";
|
|
ConfigureWithoutCarrier = true;
|
|
};
|
|
};
|
|
|
|
"vm-taps-forgejo" = {
|
|
matchConfig = {
|
|
Name = "vm-forgejo";
|
|
};
|
|
networkConfig = {
|
|
Description = "forgejo VM tap interface";
|
|
Bridge = "br-forgejo";
|
|
ConfigureWithoutCarrier = true;
|
|
};
|
|
};
|
|
|
|
# VM tap interfaces for Nexus
|
|
"vm-taps-nexus" = {
|
|
matchConfig = {
|
|
Name = "vm-nexus";
|
|
};
|
|
networkConfig = {
|
|
Description = "nexus VM tap interface";
|
|
Bridge = "br-nexus";
|
|
ConfigureWithoutCarrier = true;
|
|
};
|
|
};
|
|
|
|
"vm-taps-cloud" = {
|
|
matchConfig = {
|
|
Name = "vm-cloud";
|
|
};
|
|
networkConfig = {
|
|
Description = "cloud VM tap interface";
|
|
Bridge = "br-cloud";
|
|
ConfigureWithoutCarrier = true;
|
|
};
|
|
};
|
|
|
|
"vm-taps-caddy" = {
|
|
matchConfig = {
|
|
Name = "vm-caddy";
|
|
};
|
|
networkConfig = {
|
|
Description = "caddy VM tap interface";
|
|
Bridge = "br-caddy";
|
|
ConfigureWithoutCarrier = true;
|
|
};
|
|
};
|
|
|
|
"vm-taps-website" = {
|
|
matchConfig = {
|
|
Name = "vm-website";
|
|
};
|
|
networkConfig = {
|
|
Description = "website VM tap interface";
|
|
Bridge = "br-website";
|
|
ConfigureWithoutCarrier = true;
|
|
};
|
|
};
|
|
};
|
|
}
|