os/hosts/pie/dhcpd.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

123 lines
2.7 KiB
Nix
Raw Normal View History

2023-09-11 21:51:13 +00:00
{ pkgs, adblock-unbound, ... }:
{
2023-09-12 08:25:55 +00:00
networking.firewall.allowedUDPPorts = [ 67 ];
2023-09-11 21:51:13 +00:00
services.kea.dhcp4 = {
enable = true;
2023-09-11 21:51:13 +00:00
settings = {
interfaces-config = {
2023-09-12 08:25:55 +00:00
dhcp-socket-type = "raw";
2023-09-11 21:51:13 +00:00
interfaces = [
"enabcm6e4ei0"
"wlan0"
];
};
lease-database = {
name = "/var/lib/kea/dhcp4.leases";
persist = true;
type = "memfile";
};
rebind-timer = 2000;
renew-timer = 1000;
valid-lifetime = 4000;
subnet4 = [
{
subnet = "192.168.178.0/24";
pools = [
{ pool = "192.168.178.2 - 192.168.178.255"; }
];
option-data = [
{
name = "domain-name-servers";
space = "dhcp4";
csv-format = true;
data = "192.168.178.2";
always-send = true;
}
{
name = "routers";
data = "192.168.178.1";
always-send = true;
}
];
reservations = [
{
hostname = "droppie.local";
hw-address = "08:f1:ea:97:0f:0c";
2023-09-11 21:51:13 +00:00
ip-address = "192.168.178.3";
}
{
hostname = "pie.local";
hw-address = "dc:a6:32:5c:31:64";
ip-address = "192.168.178.2";
}
];
}
];
};
};
services.kea.dhcp6 = {
enable = true;
settings = {
interfaces-config = {
interfaces = [
"enabcm6e4ei0"
"wlan0"
];
};
lease-database = {
name = "/var/lib/kea/dhcp6.leases";
persist = true;
type = "memfile";
};
subnet6 = [
{
subnet = "2a02:908:5b1:e3c0::/64";
pools = [
{ pool = "2a02:908:5b1:e3c0::/64"; }
];
option-data = [
{
name = "dns-servers";
code = 23;
space = "dhcp6";
csv-format = true;
data = "2a02:908:5b1:e3c0:3077:4e39:7763:b5b7";
}
];
reservations = [
{
hostname = "droppie.local";
hw-address = "08:f1:ea:97:0f:0c";
ip-addresses = [
"2a02:908:5b1:e3c0:3077:4e39:7763:b5b8"
];
}
{
hostname = "pie.local";
hw-address = "dc:a6:32:5c:31:64";
ip-addresses = [
"2a02:908:5b1:e3c0:3077:4e39:7763:b5b7"
];
}
];
}
];
2023-09-11 21:51:13 +00:00
rebind-timer = 2000;
renew-timer = 1000;
};
};
}