带有 VPN 的 DNS(本地 DNS 与远程 DNS)

带有 VPN 的 DNS(本地 DNS 与远程 DNS)

我的计算机连接到工作域,在那里它可以获取本地 dns 服务器以及 dhcp 设置。

对于某个客户,我使用 VPN(开放 VPN/TAP 设备)连接到他们的网络,当然,还会与他们的 DNS 服务器一起设置第二个 IP。

我面临的问题是,Windows 10 似乎无法决定查询哪个 DNS 服务器:假设域是ad.customer.comad.mysite.com

建立连接后,Windows 10 默认使用远程站点的 DNS 服务器,即dns1.ad.customer.com。本地 DNS 解析现在失败,导致本地文件共享、打印机等无法访问。

问题显然在于,这些域名是有效顶级域名 (TLD) 的子域名:

  • PC 开始向远程 DNS 服务器询问mysite.com- 可以在线解析。
  • 但当然,负责的在线域控制器mysite.com没有任何信息ad.mysite.com,因为这仅由本地 DNS 服务器处理
  • tracerouting 任何内部名称显示,windows 显然试图解决它方式...

如果我修改网络连接的指标(本地与 TAP),那么它的行为就会相反:即使建立了 VPN,我也可以访问本地资源,但显然我无法解析 -domain 上的主机名ad.customer.com,因为现在反之亦然发生了同样的事情:

  • Windows 正在向我的本地 DNS 询问customer.com
  • 该请求被转发到负责的 DNS 服务器cusotmer.com- 该服务器又是“在线版本”并且不知道内部ad子域。

有没有办法告诉 Windows 应该对某个 FQDN 使用哪个连接/DNS 服务器?

或者我可以设置我的dc1.ad.mysite.com响应方式,让客户端知道他需要查询dc1.ad.customer.com(ip)吗?

(设置 dns 转发器当然不起作用,因为内部 dns 服务器未连接,因为 VPN 连接源自我的机器)

所以说,我需要的是 DNS 重定向,而不是 DNS 转发。

如果对选项有影响的话,Local One 是 2012 R2。

答案1

我搞清楚了:两个online-dns服务器(customer.commysite.com)都设置了通配符记录,A-record例如*.mysite.com

因此,当ad.customer.com内部 DNS 查询 上的 fqdn时ad.mysite.com,它会被转发到我们的在线 DNS,负责的在线 DNS 会mysite.com根据其通配符 A 记录使用主 IP 进行应答:

在此处输入图片描述

我无法更改客户的域记录,但我可以更改我们的域记录。因此,我配置了指标,以便remote首先使用连接,但对于我们的顶级域名,我禁用了通配符记录,只留下valid主机名需要回答。

因此,如果现在建立了 VPN 连接,Windows 将开始查询客户本地 DNS,即使是内部主机名,但不再收到错误答案(由于转发到在线 DNS)而什么也没有。

现在 Windows 似乎查询辅助连接(本地连接,更高指标)的 DNS 服务器,然后该服务器起作用并导致正确的结果:

在此处输入图片描述


知道了原因之后,很容易找到另一个 - 也许更好的 - 解决方案:虽然解决方案 1 总是首先查询客户的本地 DNS,但这个解决方案首先适用于查询我们的本地 DNS:

首先,当然。两个连接的度量标准已经改变,因此首先使用本地连接。

在我们的本地 DNS 服务器中,我设置了一个主区域,与客户域相匹配:customer.com- 并将其留空。

现在,我们的本地 DNS 将使用 进行回答,not found而不是将查询转发给使用在线 DNS 服务器的客户通配符服务器。(无法解析其内部名称)

我的电脑现在将使用第二个(远程)连接,其中可以解析内部名称的查询。

缺点:如果没有建立 VPN 连接,我就无法再访问客户的网站,因为我们的本地 DNS 不再转发这些查询。

如果我也需要的话,我可以在“Fake-primary-Zone”中设置 A 记录。

答案2

VPN 服务器是唯一能够真正帮助您从世界任何地方访问数据的服务器,而且它是加密的,因此是安全的。

我已经在英国使用 Raspberry Pi 3 设置了自己的 VPN 服务器,自从设置以来它运行得很好,完全没有问题,设置是 TCP/IP,我计划用 UDP 设置另一个。

西亚马克

相关内容