我有一个使用路由 TUN 设置的 openVPN 服务器。
服务器配置文件
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway"
push "route 10.0.0.0 255.255.255.0"
push "dhcp-option DNS 10.0.0.1"
我在使用 openVPN 客户端和访问内联网 Web 服务器时遇到了问题。Web 服务器的域名是intranet.app
。
从 LAN 进行的访问工作正常 - 网关将 DNS 查询转发intranet.app
到本地服务器。
当我通过 openVPN 连接时,似乎所有 DNS 查询都转发到用于连接互联网的无线/LAN 适配器列出的 DNS 服务器。如果该 DNS 查询未解析 - 它会查询 VPN 网关上列出的 DNS 服务器。
我已经通过在我的服务器上设置一个虚拟域来测试这一点intranet.lan
。
intranet.app
- 解析为 127.0.53.53,因为.app
它现在是 gTLD,但intranet.app
不是注册域。
intranet.lan
- 无法解析,因为.lan
不是 gTLD。然后查询 VPN 网关 DNS 服务器,查询结果解析为 LAN 托管的 Web 服务器。
我如何以编程方式确保 openVPN 客户端仅向 VPN 网关发送 DNS 查询而不是无线/LAN 适配器?
谢谢
答案1
我找到了一组脚本dnsleaktest.com它会在隧道创建之前删除所有现有的 DNS 解析器链接,并添加 VPN 连接的链接。连接关闭后,它也会反转此操作。