{ config, pkgs, ...}: { networking.vlans."net-technik" = { id = 202; interface = "ens18"; }; networking.interfaces.net-technik.ipv6.addresses = [ { address = "fe80::1"; prefixLength = 64; } { address = "fd00:10:42:202::1"; prefixLength = 64; } ]; networking.interfaces.net-technik.ipv4.addresses = [ { address = "10.42.202.1"; prefixLength = 24; } ]; services.radvd.config = '' interface net-technik { AdvSendAdvert on; MaxRtrAdvInterval 30; prefix ::/64 { AdvValidLifetime 60; AdvPreferredLifetime 30; }; RDNSS 2a01:4f8:1c0c:8221::8 {}; DNSSL bula22.de {}; }; ''; services.kea.dhcp4 = { settings = { interfaces-config = { interfaces = [ "net-technik" ]; }; subnet4 = [ { id = 202; subnet = "10.42.202.1/24"; pools = [ { pool = "10.42.202.100 - 10.42.202.240"; } ]; option-data = [ { name = "routers"; data = "10.42.202.1"; } ]; reservations = [ { # drucker container hw-address = "20:cd:a7:f2:1b:ad"; ip-address = "10.42.202.11"; } ]; } ]; }; }; clerie.forward-filter.interfaces.net-technik.rules = [ { incomingInterface = "net-ikt"; } # Give the toys access to technik { incomingInterface = "net-technik-iot"; } ]; clerie.uplink-selector.interfaces.net-technik.uplink = "uplink-b"; }