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;
}; };
+4 -12
View File
@@ -22,7 +22,8 @@
initrd.kernelModules = [ initrd.kernelModules = [
"amdgpu" "amdgpu"
]; ];
kernelParams = [ kernelParams =
[
]; ];
loader = { loader = {
systemd-boot.enable = true; systemd-boot.enable = 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 = {
+3 -24
View File
@@ -53,35 +53,14 @@
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;
in
[
"--tls-san ${ip}"
#"--bind-address ${ip}" #"--bind-address ${ip}"
]; ];
}; };
+8 -13
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,12 +61,12 @@ in
]; ];
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ allowedTCPPorts =
[
80 80
443 443
5432 5432
6443 6443
10250
] ]
++ ( ++ (
if cfg.agentOnly then if cfg.agentOnly then
@@ -137,11 +142,7 @@ 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
ip = (builtins.head config.networking.interfaces."${cfg.vipInterface}".ipv4.addresses).address;
in
{
enable = true; enable = true;
openFirewall = true; openFirewall = true;
vrrpInstances.kubernetes = { vrrpInstances.kubernetes = {
@@ -155,12 +156,6 @@ in
} }
]; ];
virtualRouterId = 77; virtualRouterId = 77;
unicastPeers = lib.filter (v: v != ip) [
"10.42.1.6"
"10.42.1.8"
"10.42.1.13"
];
unicastSrcIp = ip;
extraConfig = '' extraConfig = ''
advert_int 1 advert_int 1
''; '';