Skip to main content
DNS resolvers are used by Talos to resolve domain names into IP addresses. By default, Talos will use DNS resolvers 8.8.8.8 and 1.1.1.1, and DNS servers might be provided via DHCP or cloud platform metadata.

Configuration

To configure custom DNS resolvers, create a ResolverConfig document like this:
The nameservers field is a list of DNS server IP addresses that Talos will use for DNS resolution. The searchDomains field allows you to specify search domains that will be appended to unqualified domain names during DNS resolution, the default search domains is to use the domain part of the machine’s hostname. The disableDefault field, when set to true, prevents Talos from using the default search domains derived from the machine’s hostname. See Host DNS for more information about DNS resolution in Talos.

Encrypted DNS (DoT and DoH)

Each nameserver can be queried over an encrypted transport instead of plain DNS, by setting the protocol and tlsServerName fields:
The protocol field accepts: The tlsServerName field is required for DoT and DoH, and must be empty for Do53. The address field always stays an IP address: Talos connects to that address directly, and tlsServerName is only used as the TLS SNI and the name verified against the server certificate (and, for DoH, as the host part of the request URL https://<tlsServerName>/dns-query), so encrypted DNS never needs a bootstrap resolver. The protocol is configured per nameserver, so plain and encrypted nameservers can be mixed in a single ResolverConfig. Encrypted DNS is implemented by the host DNS caching resolver, so hostDNS.enabled must be true; a configuration which uses DoT or DoH without host DNS is rejected. See Host DNS for the way encrypted upstreams are used, and for the interaction with time synchronization.

Observing status

Use talosctl to get the current resolver configuration of a node:
The RESOLVERS column only lists the nameserver addresses; the protocol and TLS server name of each nameserver are visible in the full resource:
To see all resolver configuration sources, use the following: