Update DNS for new Jellyfin box Update DHCP for new Jellyfin box Modify Isaiah to work better with VMs Update pinned packages becaue I derped hard on creating a cyclic dependency
197 lines
4.7 KiB
Nix
197 lines
4.7 KiB
Nix
{
|
|
lan,
|
|
iot,
|
|
lanIP,
|
|
iotIP,
|
|
routerIP,
|
|
}:
|
|
{
|
|
enable = true;
|
|
settings = {
|
|
valid-lifetime = 43200; # 12 hours, in seconds
|
|
renew-timer = 1000;
|
|
rebind-timer = 2000;
|
|
interfaces-config.interfaces = [
|
|
lan
|
|
iot
|
|
];
|
|
lease-database = {
|
|
type = "memfile";
|
|
persist = true;
|
|
name = "/var/lib/kea/dhcp4.leases";
|
|
};
|
|
subnet4 = [
|
|
{
|
|
subnet = "10.42.0.0/16";
|
|
pools = [ { pool = "10.42.2.0 - 10.42.3.255"; } ];
|
|
interface = lan;
|
|
# https://kea.readthedocs.io/en/kea-2.6.1/arm/dhcp4-srv.html#dhcp4-std-options-list
|
|
option-data = [
|
|
{
|
|
name = "domain-name-servers";
|
|
data = "${lanIP},1.1.1.1";
|
|
}
|
|
{
|
|
name = "routers";
|
|
data = routerIP;
|
|
}
|
|
{
|
|
name = "domain-search";
|
|
data = "home,thehellings.lan";
|
|
}
|
|
{
|
|
name = "lpr-servers";
|
|
data = "10.42.1.3";
|
|
}
|
|
{
|
|
name = "domain-name";
|
|
data = "thehellings.lan";
|
|
}
|
|
];
|
|
}
|
|
{
|
|
subnet = "192.168.66.0/24";
|
|
pools = [ { pool = "192.168.66.2 - 192.168.66.254"; } ];
|
|
interface = iot;
|
|
option-data = [
|
|
{
|
|
name = "domain-name-servers";
|
|
data = iotIP;
|
|
}
|
|
{
|
|
name = "routers";
|
|
data = "192.168.67.1";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
reservations = [
|
|
# Static IPs for personal work
|
|
{
|
|
hw-address = "00:23:24:72:64:32"; # Joel
|
|
ip-address = "10.42.0.4";
|
|
}
|
|
{
|
|
hw-address = "2a:5d:23:10:4e:22"; # SAN Switch
|
|
ip-address = "10.42.0.5";
|
|
}
|
|
{
|
|
hw-address = "00:00:de:ad:be:ef"; # deadbeef
|
|
ip-address = "10.42.2.254";
|
|
}
|
|
{
|
|
hw-address = "01:a8:a1:59:c7:8a:12"; # BMC management interface for isaiah
|
|
ip-address = "10.42.2.253";
|
|
}
|
|
{
|
|
hw-address = "7c:83:34:b9:ee:ec"; # PVE1
|
|
ip-address = "10.42.1.1";
|
|
}
|
|
{
|
|
hw-address = "74:ee:2a:66:b3:51"; # printer
|
|
ip-address = "10.42.1.3";
|
|
}
|
|
{
|
|
hw-address = "00:11:32:c6:7c:81"; # chronicles
|
|
ip-address = "10.42.1.4";
|
|
}
|
|
{
|
|
hw-address = "6a:86:56:45:0b:b1"; # Genesis
|
|
ip-address = "10.42.1.5";
|
|
}
|
|
{
|
|
hw-address = "a8:a1:59:c7:20:44"; # isaiah
|
|
ip-address = "10.42.1.6";
|
|
}
|
|
#{
|
|
# hw-address = ""; # hosea
|
|
# ip-address = "10.42.1.7";
|
|
#}
|
|
{
|
|
hw-address = "b4:2e:99:aa:22:3c"; # jeremiah
|
|
ip-address = "10.42.1.8";
|
|
}
|
|
{
|
|
hw-address = "c8:5e:a9:54:9e:c6"; # IVR laptop Wi-Fi
|
|
ip-address = "10.42.1.9";
|
|
}
|
|
|
|
########################################
|
|
# VM servers #
|
|
########################################
|
|
|
|
{
|
|
hw-address = "52:54:00:2a:74:2f";
|
|
ip-address = "10.43.4.1"; # Dendrite
|
|
}
|
|
{
|
|
hw-address = "52:54:00:6e:eb:83";
|
|
ip-address = "10.43.4.2"; # Jellyfin
|
|
}
|
|
|
|
########################################
|
|
# IOT devices #
|
|
########################################
|
|
|
|
# Static IPs for things in the IOT range
|
|
{
|
|
hw-address = "b4:b0:24:9a:02:4a";
|
|
ip-address = "192.168.66.5";
|
|
} # LD125
|
|
{
|
|
hw-address = "f0:03:8c:b3:b0:f6";
|
|
ip-address = "192.168.66.55";
|
|
} # Roomba
|
|
{
|
|
hw-address = "4c:a1:61:05:cd:52";
|
|
ip-address = "192.168.66.61";
|
|
} # Rainbird
|
|
{
|
|
hw-address = "48:d6:d5:5d:81:21";
|
|
ip-address = "192.168.66.65";
|
|
} # Google Home
|
|
{
|
|
hw-address = "28:87:ba:0e:ca:da";
|
|
ip-address = "192.168.66.74";
|
|
}
|
|
{
|
|
hw-address = "54:af:97:83:ed:33";
|
|
ip-address = "192.168.66.80";
|
|
}
|
|
{
|
|
hw-address = "ac:84:c6:5e:4b:28";
|
|
ip-address = "192.168.66.100";
|
|
}
|
|
{
|
|
hw-address = "8c:85:80:1c:f9:d1";
|
|
ip-address = "192.168.66.104";
|
|
}
|
|
{
|
|
hw-address = "8c:49:62:aa:58:60";
|
|
ip-address = "192.168.66.108";
|
|
} # Roku, HiHandsome
|
|
{
|
|
hw-address = "92:3e:11:c7:c5:be";
|
|
ip-address = "192.168.66.109";
|
|
}
|
|
{
|
|
hw-address = "d8:0d:17:19:60:62";
|
|
ip-address = "192.168.66.112";
|
|
}
|
|
{
|
|
hw-address = "b4:b0:24:9a:12:53";
|
|
ip-address = "192.168.66.130";
|
|
} # KL125
|
|
{
|
|
hw-address = "b4:b0:24:9a:14:0e";
|
|
ip-address = "192.168.66.131";
|
|
}
|
|
{
|
|
hw-address = "e4:f0:42:61:fa:b5";
|
|
ip-address = "192.168.66.149";
|
|
} # Google Home-mini
|
|
];
|
|
};
|
|
}
|