Use DHCP across the board

This commit is contained in:
Greg Hellings
2025-12-02 21:34:13 -06:00
parent 035bd48635
commit 98d188bf0b
4 changed files with 51 additions and 98 deletions
+2 -15
View File
@@ -37,6 +37,7 @@
kubernetes = { kubernetes = {
enable = true; enable = true;
vipInterface = "enp38s0"; vipInterface = "enp38s0";
vip = "10.42.1.6";
priority = 255; priority = 255;
}; };
tailscale = { tailscale = {
@@ -59,27 +60,13 @@
}; };
networking = { networking = {
defaultGateway = {
address = " 10.42.1.1";
interface = "enp38s0";
};
firewall = { firewall = {
enable = true; enable = true;
allowedTCPPorts = [ 80 ]; allowedTCPPorts = [ 80 ];
checkReversePath = lib.mkForce false; checkReversePath = lib.mkForce false;
}; };
hostName = "isaiah"; hostName = "isaiah";
interfaces = { interfaces.enp38s0.useDHCP = true;
enp38s0 = {
ipv4.addresses = [
{
address = "10.42.1.6";
prefixLength = 16;
}
];
};
};
nameservers = [ "10.42.1.5" ];
useDHCP = false; useDHCP = false;
}; };
+5 -13
View File
@@ -22,8 +22,9 @@
initrd.kernelModules = [ initrd.kernelModules = [
"amdgpu" "amdgpu"
]; ];
kernelParams = [ kernelParams =
]; [
];
loader = { loader = {
systemd-boot.enable = true; systemd-boot.enable = true;
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
@@ -73,6 +74,7 @@
kubernetes = { kubernetes = {
enable = true; enable = true;
vipInterface = "br0"; vipInterface = "br0";
vip = "10.42.1.8";
priority = 254; priority = 254;
}; };
tailscale = { tailscale = {
@@ -103,17 +105,7 @@
interface = "br0"; interface = "br0";
}; };
firewall.allowedTCPPorts = [ 3389 ]; firewall.allowedTCPPorts = [ 3389 ];
interfaces = { interfaces.br0.useDHCP = true;
br0 = {
ipv4.addresses = [
{
address = "10.42.1.8";
prefixLength = 16;
}
];
};
};
nameservers = [ "10.42.1.5" ];
}; };
programs.steam = { programs.steam = {
+5 -26
View File
@@ -53,37 +53,16 @@
networkmanager.enable = lib.mkForce true; networkmanager.enable = lib.mkForce true;
enableIPv6 = false; enableIPv6 = false;
useDHCP = false; useDHCP = false;
interfaces = { interfaces.enp12s0.useDHCP = true;
# This seems to be direct mother board interface
enp12s0.useDHCP = true;
enp12s0.ipv4.addresses = [
{
address = "10.42.1.13";
prefixLength = 16;
}
];
};
defaultGateway = {
address = "10.42.1.1";
interface = "enp12s0";
};
nameservers = [
"10.42.1.5"
"10.42.1.1"
];
}; };
# Let's do a sound thing # Let's do a sound thing
services = { services = {
k3s = { k3s = {
extraFlags = extraFlags = [
let "--tls-san 10.42.1.13"
ip = (builtins.head config.networking.interfaces.enp12s0.ipv4.addresses).address; #"--bind-address ${ip}"
in ];
[
"--tls-san ${ip}"
#"--bind-address ${ip}"
];
}; };
xserver.videoDrivers = [ "nvidia" ]; xserver.videoDrivers = [ "nvidia" ];
}; };
+39 -44
View File
@@ -29,6 +29,11 @@ in
default = 1; default = 1;
description = "VIP priority"; description = "VIP priority";
}; };
vip = lib.mkOption {
type = lib.types.str;
default = null;
description = "The IP address of this host";
};
vipInterface = lib.mkOption { vipInterface = lib.mkOption {
type = lib.types.str; type = lib.types.str;
default = null; default = null;
@@ -56,22 +61,22 @@ in
]; ];
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ allowedTCPPorts =
80 [
443 80
5432 443
6443 5432
10250 6443
] ]
++ ( ++ (
if cfg.agentOnly then if cfg.agentOnly then
[ ] [ ]
else else
[ [
2379 2379
2380 2380
] ]
); );
allowedUDPPorts = [ 8472 ]; allowedUDPPorts = [ 8472 ];
}; };
@@ -137,35 +142,25 @@ in
serverAddr = lib.mkIf (config.networking.hostName != "isaiah") "https://isaiah.home:6443"; serverAddr = lib.mkIf (config.networking.hostName != "isaiah") "https://isaiah.home:6443";
tokenFile = config.age.secrets.kubernetesToken.path; tokenFile = config.age.secrets.kubernetesToken.path;
}; };
keepalived = keepalived = {
let enable = true;
ip = (builtins.head config.networking.interfaces."${cfg.vipInterface}".ipv4.addresses).address; openFirewall = true;
in vrrpInstances.kubernetes = {
{ interface = cfg.vipInterface;
enable = true; priority = cfg.priority;
openFirewall = true; state = if (config.networking.hostName == "isaiah") then "MASTER" else "BACKUP";
vrrpInstances.kubernetes = { virtualIps = [
interface = cfg.vipInterface; {
priority = cfg.priority; addr = "10.42.5.1/16";
state = if (config.networking.hostName == "isaiah") then "MASTER" else "BACKUP"; dev = cfg.vipInterface;
virtualIps = [ }
{ ];
addr = "10.42.5.1/16"; virtualRouterId = 77;
dev = cfg.vipInterface; extraConfig = ''
} advert_int 1
]; '';
virtualRouterId = 77;
unicastPeers = lib.filter (v: v != ip) [
"10.42.1.6"
"10.42.1.8"
"10.42.1.13"
];
unicastSrcIp = ip;
extraConfig = ''
advert_int 1
'';
};
}; };
};
openiscsi = { openiscsi = {
enable = true; enable = true;
name = "${config.networking.hostName}-initiatorhost"; name = "${config.networking.hostName}-initiatorhost";