NAME
unwind.conf
—
validating DNS resolver configuration
file
DESCRIPTION
The unwind(8) daemon is a validating DNS resolver.
The unwind.conf
config file is divided
into the following main sections:
- Macros
- User-defined variables may be defined and used later, simplifying the configuration file.
- Global Configuration
- Global settings for unwind(8).
Additional configuration files can be included with the
include
keyword.
MACROS
Macros can be defined that will later be expanded in context.
Macro names must start with a letter, digit, or underscore, and may contain
any of those characters. Macro names may not be reserved words (for example,
forwarder
, port
, or
DoT
). Macros are not expanded inside quotes.
For example:
fwd1=192.0.2.53 fwd2=192.0.2.153 forwarder { $fwd1 $fwd2 }
GLOBAL CONFIGURATION
block list
file [log
]- A file containing domains to block, one per line. If a domain from this
list is queried,
unwind
answers with a return code ofREFUSED
. Withlog
blocked queries are logged. forwarder
{address [port
number] [[authentication name
name]DoT
] ...}- A list of addresses of DNS name servers to forward queries to.
port
defaults to 53. IfDoT
is specified, use DNS over TLS when sending queries to the server at address. The defaultport
is 853. name validates the certificate of the DNS over TLS server. preference
{type ...}- A list of DNS name server types to specify the order in which name servers
are picked when measured round-trip time medians are equal. Additionally,
the first mentioned type gets a time bonus. Validating name servers are
always picked over non-validating name servers. DNS name server types are,
in default order of preference:
DoT
- DNS over TLS name servers configured in
unwind.conf
. oDoT-forwarder
- Name servers configured in
unwind.conf
.unwind
tries to opportunistically use DNS over TLS. forwarder
- Name servers configured in
unwind.conf
. recursor
unwind
itself recursively resolves names.oDoT-autoconf
- Name servers learned from autoconfiguration. A list of sources for
proposals learned through autoconfiguration is documented in
resolvd(8).
unwind
tries to opportunistically use DNS over TLS. autoconf
- Name servers learned from autoconfiguration.
stub
- Name servers learned from autoconfiguration, queried using the libc functions (see asr_run(3)). Will never validate. Useful when running behind broken middle boxes that do not like edns0. DNS answers from stub name servers are not cached.
force
[accept bogus
] type {name ...}- Force resolving of name and its subdomains by the
given resolver type. If
accept bogus
is specified, validation is not enforced.
FILES
- /etc/unwind.conf
- The default unwind(8) configuration file.
EXAMPLES
Block requests for domains in /etc/blocklist and log each blocked request:
block list "/etc/blocklist" log
Define a DNS over TLS (DoT) forwarder and make it the preferred resolver:
forwarder { 192.168.1.250 port 8080 authentication name "resolver.local" DoT } preference { DoT }
Where a domain requires a specific nameserver and it may only exist in a nameserver available on the local network, force unwind(8) to use a specific resolver type:
force autoconf { domain.local }
SEE ALSO
HISTORY
The unwind.conf
file format first appeared
in OpenBSD 6.5.