Windows 工作组网络中如何转发 DNS 查询

Windows 工作组网络中如何转发 DNS 查询

情况:同一个 Windows 工作组中有 20 台计算机。它们通过一些交换机连接。然后有路由器和防火墙(2 个独立的硬件,但我不知道它们是如何连接的),并通过物理 ADSL 调制解调器连接到互联网。

电脑大多是windows XP,有些是windows 7。在每台电脑的TCP/IP配置中,都有一个固定的IP地址,网关是路由器的IP。DNS是ISP的DNS,或者是路由器的IP地址。在路由器配置(通过http)中,我看到一个页面,其中DNS设置为“来自ISP”。

突然出现一个问题:在浏览网站时,一些计算机开始收到官方 ISP 页面,提示“您的 DNS 存在问题,我们建议您使用自动 DNS”。其他服务停止工作(银行业务以及通信所需的地址解析服务)

我打电话给 ISP,他们告诉我他们的 DNS 遇到了问题。

所以我想:如果我更改计算机 TCP/IP 配置上的 DNS(例如 openDNS),那么我将使用这些 DNS 并绕过 ISP 损坏的 DNS。但问题仍然存在。无论我如何设置 DNS,我仍然会收到 ISP 错误网页。我还尝试更改防火墙 DNS(从“来自 ISP”更改为 openDNS),但没有成功。

因此,另一个人(大概是 50 岁的 Linux 粉丝)声称“Linux 没有问题,并且将使用我在这里设置的 DNS,它不依赖于 ISP“。除了钓鱼……我问他“那么为什么我仍然收到 ISP 错误页面,如果我使用不同的 DNS?”

所以现在,我想了解发生了什么。

我重新启动了电脑,执行了“ipconfig /flushdns”,清空了所有浏览器的数据,然后重新开始。

我恳请社区做出以下回应:

  1. 假设不存在其他 NAT/规则,如果我的 PC 有开放 DNS,并且路由器有 ISP DNS,谁会获胜?
  2. 是否确实通过端口转发规则(到端口 53 的所有流量 --> 强制转到我选择的 DNS)我能够强制整个 LAN 使用我选择的 DNS,即使客户端 PC 指定了不同的 DNS?

答案1

假设您在某个工作站浏览网页。您在浏览器的地址栏中输入 google.com。假设您尚未缓存任何内容。

将使用工作站上 TCP/IP 配置中设置的 DNS 服务器。假设这是您的路由器。由于您的路由器不托管 google.com(再次假设没有缓存任何内容),只要路由器配置为这样做,它就会将您的查询转发到您的 ISP 的 DNS 服务器。您的 ISP 也不托管 google.com 区域,查询将像这样转发,直到找到 google.com,然后查询最终将返回给您。(此后,DNS 服务器将缓存响应,以便下次 DNS 查询更快。)

  1. 如果您在工作站上输入 TCP/IP 设置,DNS 服务器 8.8.8.8(Google 的公共 DNS 服务器),则来自工作站的 DNS 查询将直接转到互联网上的 8.8.8.8。您的路由器和 ISP 都根本不会用于 DNS。

  2. 据我所知,端口转发目前不应该让您担心。端口转发主要用于您在 NAT 地址后面托管服务的情况。但我们不托管服务。我们正尝试访问一个服务 (DNS)。由于您有工作组计算机,因此您无法真正“强制”其他工作站使用某个 DNS 服务器。任何管理员都可以将他们工作站上的 DNS 服务器更改为他们想要的任何服务器。您可以通过 DHCP 将 DNS 服务器分发给您的客户端,但您提到您没有使用 DHCP。

编辑:在阅读了 #2 之后,我想我更好地理解了您的要求。是的,可以使用路由器根据其端口重定向流量。但不能使用您的 ISP 给您的任何现成路由器。您需要一个具有此功能的优质路由器。您的 ISP 甚至可能对您这样做。

答案2

相关内容