SIFT / KNOWLEDGE BASE

知识 Wiki 总览 / VPN

VPN中的DNS

更新于 2026-11-07条目链接

VPN 中的 DNS 需要同时满足三项条件:客户端使用预期的解析器,通往解析器的路由进入隧道,且服务端防火墙和递归解析器允许该客户端查询。某些组织采用分流 DNS,只将内部域名交给内网解析器,其余域名继续交给公共解析器。

常见故障

  • 客户端仍使用本地 Wi-Fi 或运营商 DNS。
  • VPN DNS 地址没有对应隧道路由,或服务器不可达。
  • 内部 DNS 记录只在组织解析器上存在。
  • 浏览器、系统或安全软件启用了独立 DoH,绕过系统 VPN DNS 配置。
  • IPv4 与 IPv6 的 DNS 和路由策略不一致。

跨平台核验

Windows

Get-DnsClientServerAddress
Resolve-DnsName intranet.example.org -Server 10.8.0.1

macOS

scutil --dns
dscacheutil -q host -a name intranet.example.org

Linux

resolvectl status
resolvectl query intranet.example.org

将 10.8.0.1 和内部域名替换为管理员提供的值。查询成功不等于 DNS 查询必然经过 VPN;应同时检查接口配置、目标路由和解析器日志。

DoH、DoT 与 VPN DNS

DoH 和 DoT 加密客户端到递归解析器的 DNS 传输,但不会让递归解析器看不到查询内容。若要让组织策略能够解析内部域名或记录 DNS 审计,需要正确配置应用层加密 DNS 与系统分流规则之间的关系。

参考资料

RFC 1034:DNS 概念与设施;RFC 7858:DNS over TLS;RFC 8484:DNS over HTTPS;Microsoft Learn:Get-DnsClientServerAddress;Linux resolvectl 手册。