hydra: setup bonded network
This commit is contained in:
parent
9372a2c902
commit
3c64d1a72c
|
@ -3,6 +3,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
./network.nix
|
||||||
./hydra.nix
|
./hydra.nix
|
||||||
./cache.nix
|
./cache.nix
|
||||||
./updater.nix
|
./updater.nix
|
||||||
|
@ -41,15 +42,6 @@
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "hydra";
|
hostName = "hydra";
|
||||||
firewall.enable = false;
|
firewall.enable = false;
|
||||||
defaultGateway = "172.20.73.1";
|
|
||||||
interfaces.enp3s0 = {
|
|
||||||
useDHCP = false;
|
|
||||||
tempAddress = "disabled";
|
|
||||||
ipv4.addresses = [{
|
|
||||||
address = "172.20.73.49";
|
|
||||||
prefixLength = zentralwerk.lib.config.site.net.serv.subnet4Len;
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
nameservers = [ "172.20.73.8" "9.9.9.9" ];
|
nameservers = [ "172.20.73.8" "9.9.9.9" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
{ zentralwerk, config, lib, ... }:
|
||||||
|
{
|
||||||
|
networking = {
|
||||||
|
useDHCP = false;
|
||||||
|
useNetworkd = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.kernelParams = [
|
||||||
|
# Prevents automatic creation of interface bond0 by the kernel
|
||||||
|
"bonding.max_bonds=0"
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.network = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
netdevs = {
|
||||||
|
serv.netdevConfig = {
|
||||||
|
Kind = "bond";
|
||||||
|
Name = "serv";
|
||||||
|
};
|
||||||
|
# LACP
|
||||||
|
serv.bondConfig.Mode = "802.3ad";
|
||||||
|
};
|
||||||
|
|
||||||
|
networks = {
|
||||||
|
en = {
|
||||||
|
# physical ethernet ports
|
||||||
|
matchConfig.Name = "en*";
|
||||||
|
networkConfig = {
|
||||||
|
Bond = "serv";
|
||||||
|
LLDP = true;
|
||||||
|
EmitLLDP = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"serv" =
|
||||||
|
let
|
||||||
|
inherit (config.networking) hostName;
|
||||||
|
netConfig = zentralwerk.lib.config.site.net.serv;
|
||||||
|
address = netConfig.hosts4.${hostName};
|
||||||
|
prefixLen = netConfig.subnet4Len;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
matchConfig.Name = "serv";
|
||||||
|
networkConfig = {
|
||||||
|
LLDP = true;
|
||||||
|
EmitLLDP = true;
|
||||||
|
DHCP = "no";
|
||||||
|
IPv6AcceptRA = "no";
|
||||||
|
};
|
||||||
|
addresses =
|
||||||
|
lib.optional (netConfig.hosts4 ? ${hostName}) {
|
||||||
|
addressConfig.Address = "${address}/${toString prefixLen}";
|
||||||
|
} ++
|
||||||
|
builtins.concatMap (hosts6:
|
||||||
|
lib.optional (hosts6 ? ${hostName}) {
|
||||||
|
addressConfig.Address = "${hosts6.${hostName}}/64";
|
||||||
|
}
|
||||||
|
) (builtins.attrValues netConfig.hosts6);
|
||||||
|
|
||||||
|
gateway = [
|
||||||
|
netConfig.hosts4.serv-gw
|
||||||
|
netConfig.hosts6.dn42.serv-gw
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue