我有一个 OpenVPN 服务器来访问 Amazon VPC。我在同一个 VPN 服务器上有一个绑定 DNS,用于解析本地名称(比如 *.local.example.com),对于其他所有内容,绑定使用转发器作为谷歌 DNS。
我的问题是我想避免让我的 VPN/本地 DNS 接收每个 DNS 查询并转发它们(大部分时间)并缓存它们,因为它不是一个强大的服务器。
我的问题是我是否可以让 VPN 用户查询我的本地绑定 DNS 以获取本地查询,并通过使用 OpenVPN 推送一些配置来为所有其他用户使用他们自己的 DNS(例如,在他们连接到 VPN 之前在他们的 resolv.conf 中定义)。
服务器:Debian 8、OpenVPN 和 bind9
谢谢
- 编辑 -
为了澄清一点,如果可能的话,这是我的目标:
家庭用户连接到 OpenVPN 服务器,该服务器也是本地 DNS(仅用于一组私有地址)。当家庭用户请求 google.com 时,他的查询被定向到 8.8.8.8。当请求是针对 local.mycompany.com 时,查询会转到我的 OpenVPN 服务器/DNS。所有这一切,无需使用客户端插件(使用 OpenVPN 推送?)
所有这些都是为了避免在我的小型 VPN 服务器/DNS 上产生不必要的 DNS 查询负载(无论如何他都会转发到 Google DNS)。
'Split Horizon' DNS,如果 VPC 后面的服务器位于不同的域上,那么无论如何它都是“裂脑” - DNSMasQ 是你的朋友:
https://www.linuxsysadmintutorials.com/configure-dnsmasq-to-query-different-nameservers-for-different-domains.html
我不确定 OpenVPN 服务器将用于什么目的。如果目标是实现匿名并隐藏您的真实 IP,那么这是没有选择的。最终用户将遇到 DNS 泄漏。
也就是说,
您可以将以下选项添加到您的 OpenVPN 服务器配置中:
在 VPS 上配置您的 DNS 服务器以不转发任何请求,您应该一切顺利。
Windows 将首先联系第一个提供的 DNS 等。(参见:https ://technet.microsoft.com/en-us/library/dd197552%28WS.10%29.aspx )
如果您不想通过 VPS 将任何 DNS 流量从您的 PC 转到 Google DNS。您可能需要在 VPN 配置中配置额外的路由。