{ config, pkgs, ...}: { networking.vlans."net-programmtre" = { id = 211; interface = "ens18"; }; networking.interfaces.net-programmtre.ipv6.addresses = [ { address = "fe80::1"; prefixLength = 64; } { address = "fd00:10:42:211::1"; prefixLength = 64; } ]; networking.interfaces.net-programmtre.ipv4.addresses = [ { address = "10.42.211.1"; prefixLength = 24; } ]; services.radvd.config = '' interface net-programmtre { 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-programmtre" ]; }; subnet4 = [ { id = 211; subnet = "10.42.211.1/24"; pools = [ { pool = "10.42.211.100 - 10.42.211.240"; } ]; option-data = [ { name = "routers"; data = "10.42.211.1"; } ]; reservations = [ { # signage-11 hw-address = "e4:5f:01:91:f7:fe"; ip-address = "10.42.211.11"; } { # signage-12 hw-address = "e4:5f:01:92:08:13"; ip-address = "10.42.211.12"; } { # signage-13 hw-address = "e4:5f:01:91:f5:59"; ip-address = "10.42.211.13"; } { # signage-21 hw-address = "e4:5f:01:93:70:86"; ip-address = "10.42.211.21"; } { # signage-22 hw-address = "e4:5f:01:93:5b:53"; ip-address = "10.42.211.22"; } { # signage-23 hw-address = "e4:5f:01:93:5c:39"; ip-address = "10.42.211.23"; } { # signage-24 hw-address = "e4:5f:01:93:58:ad"; ip-address = "10.42.211.24"; } { # signage-25 hw-address = "e4:5f:01:93:5b:e9"; ip-address = "10.42.211.25"; } { # signage-31 hw-address = "b8:27:eb:cd:f7:ef"; ip-address = "10.42.211.31"; } { # signage-32 hw-address = "b8:27:eb:1b:5c:f1"; ip-address = "10.42.211.32"; } ]; } ]; }; }; clerie.forward-filter.interfaces.net-programmtre.rules = [ { incomingInterface = "net-ikt"; } ]; clerie.uplink-selector.interfaces.net-programmtre.uplink = "uplink-b"; }