DNS over TLS (DoT, RFC 7858), DNS sorgularını özel bir TLS bağlantısı içinde taşır. Varsayılan port 853'tür; HTTP katmanı yoktur. Bu, DoH'a göre daha yalın bir protokol ve ağ yöneticileri için daha kolay ayırt edilebilir bir trafik demektir.
DoT ile DoH farkı
- Port: DoT 853/TCP kullanır, DoH ise 443 üzerinde HTTPS ile çalışır.
- Görünürlük: DoT ayrı port kullandığı için ağ politikasıyla izin verilebilir veya engellenebilir; DoH normal web trafiğine karışır.
- Katman: DoT doğrudan TLS üzerinde DNS mesajı taşır; DoH HTTP semantiği ekler.
İstemci yapılandırması (Linux, systemd-resolved)
# /etc/systemd/resolved.conf
[Resolve]
DNS=192.0.2.53#dns.ornek.com
DNSOverTLS=yes
Ardından systemctl restart systemd-resolved çalıştırın. DNSOverTLS=opportunistic değeri, TLS kurulamazsa düz DNS'e düşer; yes ise katı moddur ve çözümleme başarısız olur. Ana bilgisayar adı (#dns.ornek.com) sertifika doğrulaması için kullanılır.
Sunucu tarafı
Unbound ile örnek:
server:
interface: 0.0.0.0@853
tls-service-key: "/etc/ssl/dns/privkey.pem"
tls-service-pem: "/etc/ssl/dns/fullchain.pem"
tls-port: 853
Sertifikanın çözümleyicinin alan adını kapsaması gerekir. İç ağ için iç CA kullanılabilir; genel istemcilere hizmet verilecekse herkesçe güvenilen bir SSL sertifikası kurun.
Test
kdig -d @192.0.2.53 +tls-host=dns.ornek.com +tls ornek.com A
openssl s_client -connect 192.0.2.53:853 -servername dns.ornek.com
kdig (Knot DNS araçları) kurulu değilse openssl çıktısıyla en azından TLS el sıkışmasını ve sertifika zincirini doğrulayabilirsiniz; zincir hatalarını SSL Checker ile de görebilirsiniz.
Sık hatalar
- Güvenlik duvarında 853 portu kapalı.
- Sertifika adı istemcinin beklediği ad ile eşleşmiyor.
- Sertifika süresi dolmuş; katı modda tüm DNS çözümlemesi durur.
Özetle DoT, DNS gizliliğini basit ve yönetilebilir biçimde sağlar; sertifika takibi işletimin kritik parçasıdır.