nox/systems/dhcp.eh22.intern/kea.nix
2025-04-17 13:32:57 +02:00

97 lines
2.1 KiB
Nix

{ config, pkgs, ... }:
{
services.kea.dhcp4 = {
enable = true;
settings = {
lease-database = {
name = "/var/lib/kea/dhcp4.leases";
persist = true;
type = "memfile";
};
rebind-timer = 2000;
renew-timer = 1000;
valid-lifetime = 4000;
authoritative = true;
option-data = [
{
name = "domain-name-servers";
data = "94.45.254.2";
}
{
name = "cookie-servers";
data = "94.45.254.3";
always-send = true;
}
];
shared-networks = [
{
# wifi
id = 224;
subnet = "94.45.224.0/20";
pools = [ { pool = "94.45.224.10 - 94.45.239.254"; } ];
option-data = [
{
name = "routers";
data = "94.45.224.1";
}
];
}
{
# wired
id = 240;
subnet = "94.45.240.0/21";
pools = [ { pool = "94.45.240.10 - 94.45.240.254"; } ];
option-data = [
{
name = "routers";
data = "94.45.240.1";
}
];
}
{
# Management
id = 255;
subnet = "94.45.255.0/24";
pools = [ { pool = "94.45.255.200 - 94.45.255.254"; } ];
option-data = [
{
name = "routers";
data = "94.45.255.1";
}
];
}
{
# Public Services reachable event ONLY
id = 54;
subnet = " 94.45.254.0/25";
pools = [ { pool = "94.45.254.100 - 94.45.255.126"; } ];
option-data = [
{
name = "routers";
data = "94.45.254.1";
}
];
}
{
# Public Services reachable EVERYWHERE
id = 541;
subnet = "94.45.254.128/25";
pools = [ { pool = "94.45.254.230 - 94.45.255.253"; } ];
option-data = [
{
name = "routers";
data = "94.45.254.128";
}
];
}
];
};
};
}