From 1eba5398fd09f98bd11cbf8c3b80f20bb9ce1f2d Mon Sep 17 00:00:00 2001 From: adikro Date: Fri, 12 Jun 2026 00:53:25 +0200 Subject: microvm and dns stuff --- os/srv/kea.nix | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 os/srv/kea.nix (limited to 'os/srv/kea.nix') diff --git a/os/srv/kea.nix b/os/srv/kea.nix new file mode 100644 index 0000000..168590e --- /dev/null +++ b/os/srv/kea.nix @@ -0,0 +1,58 @@ +{ config, lib, ... }: +let + cfg = config.os.srv.kea; +in +{ + options.os.srv.kea.enable = lib.mkEnableOption "enables kea dhcp server"; + config = lib.mkIf cfg.enable { + services.kea.dhcp4 = { + enable = true; + settings = { + interfaces-config = { + # To be used in a VM + interfaces = [ "eth0" ]; + dhcp-socket-type = "udp"; + }; + + lease-database = { + type = "memfile"; + persist = true; + name = "/var/lib/kea/dhcp4.leases"; + }; + + subnet4 = [ + { + id = 1; + subnet = "10.1.0.0/24"; + pools = [ { pool = "10.1.0.50 - 10.1.0.250"; } ]; + option-data = [ + { + name = "routers"; + data = "10.1.0.1"; + } + { + name = "domain-name-servers"; + data = "10.0.0.3"; + } + ]; + } + { + id = 2; + subnet = "10.2.0.0/24"; + pools = [ { pool = "10.2.0.50 - 10.2.0.250"; } ]; + option-data = [ + { + name = "routers"; + data = "10.2.0.1"; + } + { + name = "domain-name-servers"; + data = "10.0.0.3"; + } + ]; + } + ]; + }; + }; + }; +} -- cgit v1.3