A failed connection from a homelab container led the author to compare DNS results from several providers. Plaintext queries repeatedly returned one IP, while Cloudflare’s DNS-over-HTTPS service returned another; an ownership lookup showed the first address belonged to the ISP. The discrepancy exposed the ISP’s interception and alteration of DNS responses. The account clarifies that running Unbound locally does not by itself prevent this: a recursive resolver typically sends its queries to other nameservers over unencrypted DNS unless configured to forward them through an encrypted service. DNSSEC also does not encrypt queries; it verifies signed DNS data, and only works when the domain has a valid chain of signatures. A failed validation can block a forged answer, but the author cites a 2026 census finding that only 7.03% of graded domains had a fully validating DNSSEC chain.
DNS-over-TLS and DNS-over-HTTPS encrypt traffic between the user’s resolver and its chosen DNS provider, limiting ISP surveillance and tampering in transit, but they require trusting that provider. Encryption does not conceal all browsing: an ISP may infer destinations from TLS handshake hostnames or IP addresses, unless traffic is routed through a VPN, which shifts trust to the VPN operator. The author’s setup uses local AdGuard for DNS, with dnscrypt-proxy encrypting upstream queries via DNSCrypt. Some containers also have Cloudflare as a fallback, while keeping local DNS primary; this reduces the risk that a local DNS outage will disrupt containers that need reliable resolution.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.