Your network. Your configuration.
Start with a small configuration, then add exactly what your network needs.
Start with the essentials
This development example listens on localhost at port 5353, forwards queries to upstream resolvers, and enables the cache. Save it as nothingdns.yaml.
nothingdns.yamlyaml
server:
port: 5353
bind:
- 127.0.0.1
upstream:
servers:
- 1.1.1.1:53
- 8.8.8.8:53
cache:
enabled: true
size: 10000Validate before you run
Use the binary’s configuration validator to check your file, then start the server with the same configuration.
Terminalbash
nothingdns -validate-config -config ./nothingdns.yaml
nothingdns -config ./nothingdns.yaml
# Test the local development listener
dig @127.0.0.1 -p 5353 example.comChoose how you resolve
Configure upstream forwarding, or enable iterative resolution with resolution.recursive. Resolution timeouts are configured under resolution.timeout. QNAME minimization is available for iterative resolution.
nothingdns.yamlyaml
resolution:
recursive: false
timeout: 5s
qname_minimization: trueGo further
The full reference covers caching, blocklists, RPZ, access controls, DNSSEC, storage, transports, metrics, and cluster settings. Check the source-aligned example when adding fields.