290 lines
8.3 KiB
Nix
290 lines
8.3 KiB
Nix
{ config, ... }:
|
|
{
|
|
services.kea.dhcp4 = {
|
|
enable = true;
|
|
settings = {
|
|
interfaces-config = {
|
|
interfaces = [
|
|
"lan"
|
|
"server"
|
|
"infrastructure"
|
|
"multimedia"
|
|
"smart"
|
|
"guest"
|
|
];
|
|
};
|
|
lease-database = {
|
|
name = "/var/lib/kea/dhcp4.leases";
|
|
persist = true;
|
|
type = "memfile";
|
|
};
|
|
rebind-timer = 2000;
|
|
renew-timer = 1000;
|
|
subnet4 = [
|
|
{
|
|
id = 96;
|
|
pools = [
|
|
{
|
|
pool = "${config.networkPrefix}.96.100 - ${config.networkPrefix}.96.240";
|
|
}
|
|
];
|
|
subnet = "${config.networkPrefix}.96.0/24";
|
|
interface = "lan";
|
|
option-data = [
|
|
{
|
|
name = "routers";
|
|
data = "${config.networkPrefix}.96.1";
|
|
}
|
|
{
|
|
name = "domain-name";
|
|
data = "cloonar.com";
|
|
}
|
|
{
|
|
name = "domain-search";
|
|
data = "cloonar.com";
|
|
}
|
|
{
|
|
name = "domain-name-servers";
|
|
data = "${config.networkPrefix}.96.1";
|
|
}
|
|
];
|
|
reservations = [
|
|
{
|
|
hw-address = "04:7c:16:d5:63:5e";
|
|
ip-address = "${config.networkPrefix}.96.5";
|
|
server-hostname = "omada.cloonar.com";
|
|
}
|
|
{
|
|
hw-address = "30:05:5c:56:62:37";
|
|
ip-address = "${config.networkPrefix}.96.100";
|
|
server-hostname = "brn30055c566237.cloonar.com";
|
|
}
|
|
{
|
|
hw-address = "24:df:a7:b1:1b:74";
|
|
ip-address = "${config.networkPrefix}.96.101";
|
|
server-hostname = "rmproplus-b1-1b-74.cloonar.com";
|
|
}
|
|
];
|
|
|
|
}
|
|
{
|
|
id = 97;
|
|
pools = [
|
|
{
|
|
pool = "${config.networkPrefix}.97.100 - ${config.networkPrefix}.97.240";
|
|
}
|
|
];
|
|
subnet = "${config.networkPrefix}.97.0/24";
|
|
interface = "server";
|
|
option-data = [
|
|
{
|
|
name = "routers";
|
|
data = "${config.networkPrefix}.97.1";
|
|
}
|
|
{
|
|
name = "domain-name";
|
|
data = "cloonar.com";
|
|
}
|
|
{
|
|
name = "domain-name-servers";
|
|
data = "${config.networkPrefix}.97.1";
|
|
}
|
|
];
|
|
reservations = [
|
|
{
|
|
hw-address = "1a:c4:04:6e:29:bd";
|
|
ip-address = "${config.networkPrefix}.97.2";
|
|
server-hostname = "omada.cloonar.com";
|
|
}
|
|
{
|
|
hw-address = "02:00:00:00:00:03";
|
|
ip-address = "${config.networkPrefix}.97.5";
|
|
server-hostname = "web-02.cloonar.com";
|
|
}
|
|
{
|
|
hw-address = "02:00:00:00:00:04";
|
|
ip-address = "${config.networkPrefix}.97.6";
|
|
server-hostname = "matrix.cloonar.com";
|
|
}
|
|
{
|
|
hw-address = "ea:db:d4:c1:18:ba";
|
|
ip-address = "${config.networkPrefix}.97.50";
|
|
server-hostname = "git.cloonar.com";
|
|
}
|
|
{
|
|
hw-address = "c2:4f:64:dd:13:0c";
|
|
ip-address = "${config.networkPrefix}.97.20";
|
|
server-hostname = "home-assistant.cloonar.com";
|
|
}
|
|
{
|
|
hw-address = "1a:c4:04:6e:29:02";
|
|
ip-address = "${config.networkPrefix}.97.25";
|
|
server-hostname = "deconz.cloonar.com";
|
|
}
|
|
];
|
|
}
|
|
{
|
|
id = 101;
|
|
pools = [
|
|
{
|
|
pool = "${config.networkPrefix}.101.100 - ${config.networkPrefix}.101.240";
|
|
}
|
|
];
|
|
subnet = "${config.networkPrefix}.101.0/24";
|
|
interface = "infrastructure";
|
|
option-data = [
|
|
{
|
|
name = "routers";
|
|
data = "${config.networkPrefix}.101.1";
|
|
}
|
|
{
|
|
name = "domain-name";
|
|
data = "cloonar.com";
|
|
}
|
|
{
|
|
name = "domain-name-servers";
|
|
data = "${config.networkPrefix}.101.1";
|
|
}
|
|
{
|
|
name = "capwap-ac-v4";
|
|
code = 138;
|
|
data = "${config.networkPrefix}.97.2";
|
|
}
|
|
];
|
|
reservations = [
|
|
];
|
|
}
|
|
{
|
|
id = 99;
|
|
pools = [
|
|
{
|
|
pool = "${config.networkPrefix}.99.100 - ${config.networkPrefix}.99.240";
|
|
}
|
|
];
|
|
subnet = "${config.networkPrefix}.99.0/24";
|
|
interface = "multimedia";
|
|
option-data = [
|
|
{
|
|
name = "routers";
|
|
data = "${config.networkPrefix}.99.1";
|
|
}
|
|
{
|
|
name = "domain-name";
|
|
data = "cloonar.multimedia";
|
|
}
|
|
{
|
|
name = "domain-name-servers";
|
|
data = "${config.networkPrefix}.99.1";
|
|
}
|
|
];
|
|
reservations = [
|
|
{
|
|
hw-address = "c4:a7:2b:c7:ea:30";
|
|
ip-address = "${config.networkPrefix}.99.10";
|
|
hostname = "metz.cloonar.multimedia";
|
|
}
|
|
{
|
|
hw-address = "f0:2f:9e:d4:3b:21";
|
|
ip-address = "${config.networkPrefix}.99.11";
|
|
hostname = "firetv-living";
|
|
}
|
|
{
|
|
hw-address = "bc:33:29:ed:24:f0";
|
|
ip-address = "${config.networkPrefix}.99.12";
|
|
hostname = "ps5";
|
|
}
|
|
{
|
|
hw-address = "e4:2a:ac:32:3f:79";
|
|
ip-address = "${config.networkPrefix}.99.13";
|
|
hostname = "xbox";
|
|
}
|
|
{
|
|
hw-address = "98:b6:e9:b6:ef:f4";
|
|
ip-address = "${config.networkPrefix}.99.14";
|
|
hostname = "switch";
|
|
}
|
|
{
|
|
hw-address = "f0:2f:9e:c1:74:72";
|
|
ip-address = "${config.networkPrefix}.99.21";
|
|
hostname = "firetv-bedroom";
|
|
}
|
|
{
|
|
hw-address = "30:05:5c:56:62:37";
|
|
ip-address = "${config.networkPrefix}.99.100";
|
|
server-hostname = "brn30055c566237";
|
|
}
|
|
];
|
|
}
|
|
{
|
|
id = 254;
|
|
pools = [
|
|
{
|
|
pool = "${config.networkPrefix}.254.10 - ${config.networkPrefix}.254.254";
|
|
}
|
|
];
|
|
subnet = "${config.networkPrefix}.254.0/24";
|
|
interface = "guest";
|
|
option-data = [
|
|
{
|
|
name = "routers";
|
|
data = "${config.networkPrefix}.254.1";
|
|
}
|
|
{
|
|
name = "domain-name-servers";
|
|
data = "9.9.9.9";
|
|
}
|
|
];
|
|
}
|
|
{
|
|
id = 100;
|
|
pools = [
|
|
{
|
|
pool = "${config.networkPrefix}.100.100 - ${config.networkPrefix}.100.240";
|
|
}
|
|
];
|
|
subnet = "${config.networkPrefix}.100.0/24";
|
|
interface = "smart";
|
|
option-data = [
|
|
{
|
|
name = "routers";
|
|
data = "${config.networkPrefix}.100.1";
|
|
}
|
|
{
|
|
name = "domain-name";
|
|
data = "cloonar.smart";
|
|
}
|
|
{
|
|
name = "domain-name-servers";
|
|
data = "${config.networkPrefix}.100.1";
|
|
}
|
|
];
|
|
reservations = [
|
|
{
|
|
hw-address = "fc:ee:28:03:63:e9";
|
|
ip-address = "${config.networkPrefix}.100.148";
|
|
server-hostname = "k1c";
|
|
}
|
|
{
|
|
hw-address = "cc:50:e3:bc:27:64";
|
|
ip-address = "${config.networkPrefix}.100.112";
|
|
server-hostname = "Nuki_Bridge_1A753F72";
|
|
}
|
|
|
|
{
|
|
hw-address = "34:6f:24:f3:af:ad";
|
|
ip-address = "${config.networkPrefix}.100.137";
|
|
server-hostname = "daikin86604";
|
|
}
|
|
{
|
|
hw-address = "34:6f:24:c1:f8:54";
|
|
ip-address = "${config.networkPrefix}.100.139";
|
|
server-hostname = "daikin53800";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
valid-lifetime = 4000;
|
|
};
|
|
};
|
|
}
|