Need email infrastructure? Try PostScale -- transactional email API built in the EU. PostScale

    DNS over TLS (DoT) Explained — Encrypted DNS on Port 853

    DNS over TLS explained — what RFC 7858 actually does, how it differs from DoH and plain DNS, support across operating systems, and where ADoT (authoritative DoT) is heading.

    Updated

    TL;DR

    DNS over TLS (DoT, RFC 7858) wraps DNS queries in a TLS connection on TCP port 853, encrypting the conversation between client and recursive resolver. It solves the same privacy problem as DNS over HTTPS but uses a dedicated port rather than blending into HTTPS traffic. Android's Private DNS uses DoT. ADoT (Authoritative DoT, the resolver-to-authoritative variant) is an emerging standard not yet widely deployed. DoT is a privacy tool, complementary to DNSSEC's integrity guarantees.

    What you'll learn

    • Define DoT precisely (RFC 7858) and distinguish it from DoH and plain DNS
    • Identify what DoT protects against (network observers) and what it doesn't (the resolver itself)
    • Recognise DoT support across major operating systems and public resolvers
    • Understand where ADoT (resolver-to-authoritative encryption) fits and why it's emerging

    DNS over TLS — DoT, standardised in RFC 7858 — was the first widely-deployed encrypted DNS protocol, predating DNS over HTTPS by several years. It encrypts the client-to-resolver conversation using TLS over a dedicated port, and remains the default mechanism for Android's Private DNS and many Linux DNS stubs. This guide is a focused explainer of what DoT is, where it's deployed, and how it compares with the alternatives.

    For DoH, see DNS over HTTPS (DoH) explained. For the integrity-vs-privacy comparison, see DNSSEC vs DNS over HTTPS.

    What DoT Actually Is

    DoT runs the standard DNS wire-format query inside a TLS connection on TCP port 853. The client opens a TLS handshake to the resolver's port 853, validates the resolver's certificate, and then sends DNS queries and receives responses over that encrypted connection.

    The DNS wire format itself doesn't change. A DoT query is the same as a TCP/53 query — the only difference is the TLS wrapper. From the application's perspective, queries and responses look identical to plain DNS; from the network's perspective, all that's visible is encrypted traffic to port 853.

    Connection lifetime: TLS handshakes are expensive, so DoT clients typically keep the TLS connection open and pipeline multiple queries through it (RFC 7858 explicitly recommends this). Idle timeouts are typically 30 seconds to several minutes.

    What DoT Protects Against

    The threat model is identical to DoH — network observers between client and resolver:

    • ISP seeing every domain you visit
    • Wi-Fi operators (coffee shop, hotel, airport) intercepting DNS
    • On-path network-tap attackers
    • Passive DNS surveillance at the network layer

    In all of these cases, plain DNS exposes queries; DoT hides them inside TLS. An observer can see "this client is making encrypted connections to dns.google on port 853" but not "this client is looking up example.com".

    What DoT Does NOT Protect

    Like DoH, DoT does not change the relationship with the resolver itself. The resolver still sees and can log every query.

    If privacy from the resolver also matters, the parallel privacy-preserving option is Oblivious DNS (ODNS, with ODoH for the HTTPS variant), which adds a relay layer. ODNS variants of DoT are less standardised than ODoH, so in practice ODoH (over HTTPS) is the more common path when relay-based privacy is needed.

    DoT vs DoH

    The cryptographic guarantees are equivalent. The differences are operational and political:

    DoTDoH
    PortTCP/853 (dedicated)TCP/443 (shared with HTTPS)
    Wire formatDNS-over-TLS (binary DNS in TLS)DNS-over-HTTPS (wire-format DNS in HTTP body)
    Identifiability on networkEasy (port 853)Hard (looks like HTTPS)
    FilterabilityEasy to blockHard to block without breaking web
    Performance overheadTLS onlyHTTPS overhead (HTTP/2 / HTTP/3 mitigates much of it)
    Browser supportLimitedNative in major browsers
    OS supportNative (Android, modern Linux, modern Windows)Native (modern OSes, with provider configuration)
    Common public-resolver endpoints1.1.1.1:853, dns.google:853, dns.quad9.net:853https://cloudflare-dns.com/dns-query, etc.

    The political consequence: DoT is honest about being encrypted DNS — you can see it, you can route it, you can block it. DoH hides itself in HTTPS, which is great for users in censored networks but a headache for legitimate corporate DNS controls and parental-control systems.

    DoT Is Not DNSSEC

    The same caveat as DoH:

    DoTDNSSEC
    What it protectsChannel between client and resolverDNS records themselves
    What it doesEncrypts the conversationSigns the records
    Threat it stopsNetwork observers, on-path attackersCache poisoning, forged answers
    Where it livesClient ↔ Recursive resolver hopAuthoritative server ↔ Resolver hop

    DoT prevents an observer from seeing the queries; DNSSEC prevents a tampered cache from poisoning the answers. They operate at different layers and modern stacks deploy both.

    Public DoT Resolvers

    The same resolvers that offer DoH also offer DoT:

    ResolverDoT host:portNotes
    Cloudflare1.1.1.1:853, 1.0.0.1:853, cloudflare-dns.com:853Also offers 1.1.1.2 for malware filtering, 1.1.1.3 for malware + adult content filtering
    Googledns.google:853 (8.8.8.8:853, 8.8.4.4:853)
    Quad9dns.quad9.net:853 (9.9.9.9:853)Includes malware-blocking by default
    NextDNS<config>.dns.nextdns.io:853Per-account custom config
    AdGuarddns.adguard-dns.com:853Includes ad/tracker blocking
    Mullvaddns.mullvad.net:853Privacy-focused

    When configuring DoT, you typically need both the hostname (for TLS certificate validation) and either the IP address or DNS-over-HTTPS bootstrap. Most modern OS configurations handle this automatically given the hostname.

    OS and Client Support

    Android

    Settings → Network & internet → Private DNS → Private DNS provider hostname. Android's Private DNS uses DoT exclusively at the system level. Set a hostname (e.g., dns.google, 1dot1dot1dot1.cloudflare-dns.com, dns.quad9.net) and Android will use DoT for all system DNS.

    Android 9+ supports this; Android 10+ added stricter validation. App-level DoH is supported in some apps (Firefox, etc.) but the system-level mechanism is DoT.

    iOS / macOS

    Encrypted DNS profiles via configuration profiles (.mobileconfig files) since iOS 14 and macOS Big Sur. These profiles can specify either DoT or DoH. App-level encrypted DNS is also possible.

    Linux

    systemd-resolved supports DoT via DNSOverTLS=yes in /etc/systemd/resolved.conf (since systemd 239). Standalone stubs:

    • stubby — a focused DoT stub resolver, runs on 127.0.0.1:53 and forwards via DoT
    • unbound — full recursive resolver with DoT-forwarding capability
    • knot-resolver — full recursive resolver with DoT support

    Configure /etc/resolv.conf to point at the local DoT stub.

    Windows

    Windows 11 added native DoT support (and DoH); Windows 10 did not. Configuration is via Settings → Network & Internet → properties of an active connection → DNS server assignment → Manual DNS settings → choose DoT/DoH for each address.

    Routers / network-level

    OpenWrt with unbound or dnsmasq can be configured for DoT-forwarded recursion. Many newer commercial routers also expose encrypted DNS as a setting.

    ADoT — Encrypting the Other Half

    The current default deployment looks like this:

    [ Client ] ── DoT/DoH ── [ Recursive resolver ] ── plain DNS ── [ Authoritative ]

    The first half (client to resolver) is increasingly encrypted; the second half (resolver to authoritative) is mostly still plain UDP/53 or TCP/53. ADoT — Authoritative DNS over TLS — is the proposal to encrypt the second half too.

    ADoT is being trialled by:

    • Cloudflare — published their 1.1.1.1 resolver supporting ADoT to authoritative servers that opt in
    • Google Public DNS — limited ADoT support announced
    • DPRIVE working group at IETF — actively standardising the resolver-to-authoritative profile

    Most authoritative servers in 2026, including DNScale's, do not yet expose DoT. The arguments for and against are non-trivial:

    For ADoT:

    • Closes the last unencrypted link in the DNS chain
    • Prevents passive surveillance at the resolver-to-authoritative layer
    • Aligns with the broader trend of universal transport encryption

    Against (or "complications"):

    • TLS handshake adds latency to every cache miss
    • Authoritative servers handle massively higher query volumes than resolvers; the TLS state cost is real
    • Coordination problem: every authoritative server has to opt in independently
    • DNSSEC already provides integrity; ADoT is largely about privacy/metadata

    The likely 2026–2028 trajectory: ADoT becomes a feature that high-end authoritative providers offer (alongside HTTPS-based equivalents), but plain DNS at the recursive-to-authoritative layer remains the default for the foreseeable future.

    Why Authoritative DNScale Doesn't Yet Run DoT

    DNScale, like most authoritative providers, currently focuses on the integrity/security layer at the authoritative side:

    • DNSSEC for record integrity (default for new zones)
    • TSIG for zone-transfer authentication
    • Anycast for resilience and DDoS dilution

    When ADoT becomes a stable, widely-deployed standard, expect DNScale and peer providers to add it. In the meantime, the resolver-to-authoritative privacy story is mostly handled by aggregating queries through public resolvers — your authoritative server sees a query coming from 1.1.1.1, not from the original client IP.

    Testing DoT

    From a Linux/macOS terminal:

    # kdig (Knot's dig variant) supports DoT natively
    kdig @1.1.1.1 +tls example.com
     
    # stubby running locally — query localhost on port 53, stubby forwards via DoT
    dig @127.0.0.1 example.com
     
    # openssl s_client to confirm a DoT endpoint is healthy
    openssl s_client -connect 1.1.1.1:853 -servername cloudflare-dns.com </dev/null
     
    # Verify the TLS certificate
    echo | openssl s_client -connect dns.google:853 -servername dns.google 2>/dev/null \
      | openssl x509 -noout -subject -issuer

    For Android: Settings → Network & internet → Private DNS → enter a hostname like dns.google, then visit https://1.1.1.1/help to confirm. (Note: that page detects Cloudflare's resolver specifically; for Google or Quad9 use their respective verification endpoints.)

    Operational Considerations

    DoT is friendly to network operators who want visibility:

    • Easy to identify on the wire (port 853)
    • Easy to allow or block at the firewall level
    • Doesn't bypass network-level DNS controls unless explicitly configured to (clients still typically use the configured resolver, just over DoT)

    This makes DoT a better fit than DoH for many corporate environments. The trade-off is the same one users see: DoT's identifiability also means it's easier to suppress in censored networks.

    References

    • RFC 7858 — Specification for DNS over Transport Layer Security (TLS)
    • RFC 8094 — DNS over Datagram Transport Layer Security (DTLS)
    • RFC 8484 — DNS Queries over HTTPS (DoH)
    • RFC 9103 — DNS Zone Transfer over TLS
    • IETF DPRIVE Working Group — DNS PRIVate Exchange (ongoing ADoT work)
    • Cloudflare: 1.1.1.1 DoT documentation
    • Android Open Source Project: Private DNS implementation notes

    Frequently asked questions

    What's the difference between DoT and DoH?
    Both encrypt DNS queries between client and resolver. DoT uses a dedicated port (TCP/853) and a binary DNS-over-TLS wire format. DoH uses HTTPS (TCP/443) and wraps DNS in HTTP requests. DoT is operationally easier to identify and manage on a network; DoH is harder to filter but blends in with web traffic. Cryptographically they're equivalent. See the DNS over HTTPS guide for the broader DoH context.
    Should I use DoT or DoH?
    For privacy from network observers, both work equally well. DoH is more widely supported in browsers; DoT is the default for Android's Private DNS. If you're on Android, DoT is the path of least resistance. If you're configuring a corporate network or a Linux box, both are reasonable — pick based on what your tooling supports best.
    Does DoT replace DNSSEC?
    No. DoT and DNSSEC solve different problems. DoT encrypts the client-resolver channel (privacy). DNSSEC signs DNS records (integrity). A DoT conversation can deliver tampered DNS data; a DNSSEC-validating client rejects tampered data even when delivered over DoT. The two are complementary.
    What is ADoT?
    ADoT is Authoritative DNS over TLS — encrypting the recursive-resolver-to-authoritative-server hop, which is currently mostly unencrypted. It's an emerging area (IETF DPRIVE working group) with active deployment trials at Cloudflare and Google. Most authoritative servers in 2026 don't yet expose DoT, but the direction of travel is toward making the entire DNS resolution chain encrypted, not just the last mile.
    Why does Android use DoT and not DoH?
    Android's Private DNS feature added DoT in Android 9 (2018) as the system-level encrypted DNS mechanism. By the time DoH was widely standardised, DoT was already shipping on a billion+ devices. Android still defaults to DoT for Private DNS; recent versions support DoH for some app-level DNS but the system-level configuration is DoT.
    Can a network operator block DoT?
    Yes — DoT uses a dedicated port (TCP/853), so a firewall can block it explicitly. This is one of the operational trade-offs vs DoH: DoT is easier for both privacy advocates to deploy and network operators to suppress. DoH on TCP/443 looks like normal HTTPS traffic and is much harder to block without breaking the wider web.

    Ready to manage your DNS with confidence?

    DNScale provides anycast DNS hosting with a global network, real-time analytics, and an easy-to-use API.

    Start free