nixfiles/hosts/yevaud/experiments/birdsong-dns.nix

34 lines
1.1 KiB
Nix

{ config, lib, pkgs, ... }:
{
services.bind = {
# enable = true;
cacheNetworks = [ "10.127.0.0/16" "fd70:81ca:0f8f::/48" ];
forwarders = [ ];
listenOn = [ config.birdsong.hosts.yevaud.ipv4 ];
listenOnIpv6 = [ config.birdsong.hosts.yevaud.ipv6 ];
zones = {
"birdsong.internal" = {
master = true;
# TODO: pick better email address for SOA record
file = pkgs.writeText "birdsong.internal.zone" ''
$TTL 60
$ORIGIN birdsong.internal.
birdsong.internal. IN SOA ns.birdsong.internal. accounts.katherina.rocks. ( 2024080401 7200 3600 1209600 3600 )
birdsong.internal. IN NS ns.birdsong.internal.
yevaud.c.birdsong.internal. IN A 10.127.1.1
yevaud.c.birdsong.internal. IN AAAA fd70:81ca:0f8f:1::1
ns.birdsong.internal. IN A 10.127.1.1
ns.birdsong.internal. IN AAAA fd70:81ca:0f8f:1::1
'';
};
};
};
networking.resolvconf.useLocalResolver = false;
networking.firewall.allowedTCPPorts = [ 53 ];
networking.firewall.allowedUDPPorts = [ 53 ];
}