Skip to main content

Local DNS zones

DNSZone stores local authoritative records. It can combine manual records with records derived from DHCP leases. The resolver reads these zones through DNSResolver sources.

Example

- apiVersion: net.routerd.net/v1alpha1
kind: DNSZone
metadata:
name: lan
spec:
zone: lab.example
ttl: 300
dnssec:
enabled: false
records:
- hostname: router
ipv4: 192.168.160.5
ipv6: 2001:db8:160::1
dhcpDerived:
sources:
- DHCPv4Server/lan-dhcpv4
- DHCPv6Server/lan-dhcpv6
hostnameSuffix: lab.example
ddns: true
ttl: 60
leaseFile: /run/routerd/dnsmasq.leases
reverseZones:
- name: 160.168.192.in-addr.arpa

dnsmasq calls routerd-dhcp-event-relay from its DHCP script hook. routerd publishes the lease change on the event bus. routerd-dns-resolver receives the event and updates the in-memory zone table.

The lease file is also read at startup. This keeps local A, AAAA, and PTR records available after a daemon restart.