services = {
bind = {
enable = true;
cacheNetworks = [ "192.168.2.0/24" "127.0.0.0/8" ];
zones = [
{
name = "localnet";
slaves = [ ];
file = ./localnet;
}
{
name = "2.168.192.in-addr.arpa";
slaves = [ ];
file = ./lan.reverse;
}
dhcpd = {
interfaces = [ "${LAN}" ];
enable = true;
machines = [
{ hostName = "ramboot"; ethernetAddress = "00:1c:23:16:4b:b3"; ipAddress = "192.168.2.10"; }
{ hostName = "amd"; ethernetAddress = "40:16:7e:b3:32:48"; ipAddress = "192.168.2.15"; }
{ hostName = "nix1"; ethernetAddress = "92:C5:E2:BB:12:A9"; ipAddress = "192.168.2.30"; }
{ hostName = "nix2"; ethernetAddress = "5E:88:5B:D7:6E:BC"; ipAddress = "192.168.2.31"; }
{ hostName = "nas"; ethernetAddress = "d0:50:99:7a:80:21"; ipAddress = "192.168.2.125"; }
];
extraConfig = ''
subnet 192.168.2.0 netmask 255.255.255.0 {
option domain-search "localnet";
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
option domain-name-servers 192.168.2.1;
range 192.168.2.100 192.168.2.200;
next-server 192.168.2.61;
if exists user-class and option user-class = "iPXE" {
filename "http://c2d.localnet/boot.php?mac=''${net0/mac}&asset=''${asset:uristring}";
} else {
filename = "undionly.kpxe";
}
}
'';
};
};