我的路由器上的开放 DNS 出现问题

我的路由器上的开放 DNS 出现问题

最近我使用 Familyshield 切换到 OpenDns。我已在 Belkin 无线路由器上应用了 DNS 设置。如果我 3-4 小时不使用互联网,我的 ISP 会要求我重新登录,然后我就无法访问登录页面或互联网。然后我必须转到路由器上的 DNS 设置并将设置更改为“从 ISP 自动”,然后我才能看到登录页面。只有当我的 ISP 要求我再次登录时才会发生这种情况,否则一切正常。

答案1

您需要分割水平 DNS 服务。

您的 ISP 显然是使用内部域名来显示仅供连接到其网络的客户可见的内容的 ISP 之一。它会将您引导到 WWW 页面,例如,https://internal.example.net./login为了登录,而internal.example.net.该 URL 中的域名并不存在于您的 ISP 通过其代理 DNS 服务器向客户提供的 DNS 命名空间视图之外。(example.net.这里的 ,当然是您的 ISP 拥有的域名。)

显然,OpenDNS(讽刺的是,它也提供定制版本的 DNS 命名空间)对此类安排一无所知。你也无法告诉它。

所以你需要的是水平分割 DNS 服务。您需要确保example.net.及其子域的所有 DNS 查找(即 ISP 用于内部、仅供客户使用的每个域名)都定向到您的 ISP 的代理 DNS 服务器,并且所有其他域名的所有 DNS 查找都定向到 OpenDNS 代理 DNS 服务器。

使用家用路由器几乎肯定无法做到这一点。此类路由器缺乏这种功能。您也无法通过调整 LAN 上各个工作站上的 DNS 客户端来实现这一点。除了极少数 DNS 客户端外,其他任何 DNS 客户端都没有这种功能。(几乎只有 MacOS 才有这种机制。)

你需要做的是运行转发代理 DNS 服务器在您的 LAN 上的某个位置。您配置该服务器以执行有条件转发,将example.net.及其子域与其余 DNS 命名空间分开;并将所有工作站配置为使用该 DNS 服务器进行代理 DNS 服务。为了获得最佳效果,您无需手动查找 ISP 代理 DNS 服务器的 IP 地址,请Automatic from ISP再次启用该设置,并配置条件转发以example.net.使用路由器作为中间转发代理。

如果 LAN 上其他机器都开启时,必须开启一台机器的必要性让您犹豫不决,您甚至可以在每个工作站上运行单独的转发代理 DNS 服务器,而不是为整个 LAN 运行一个中央服务器。在互联网世界中,在每个工作站上运行 DNS 服务器并不是什么新鲜事。三十年前,人们理所当然地这样做了。大多数当前操作系统实际上都标配了 DNS 服务器软件。如果您有 BSD、Linuxen、Macintoshes、Solarises 等,设置转发代理 DNS 服务器很简单,只需安装 djbdns、PowerDNS、BIND 或类似程序,并使用适当的条件转发规则对其进行配置即可。

Microsoft Windows 的非服务器版本是明显的例外。即使是 Windows Server 也有一个标准的 DNS 服务器。因此,只有当您拥有一个全 Windows 工作站网络,没有任何 Windows服务器机器或非 Windows 机器,您将因没有软件功能而受到影响就在盒子里

当然,还有其他方法可以解决这个问题:使用复杂的脚本来临时重新配置和登录,使用hosts文件进行修补。但它们都存在您现在遇到的同一个问题:缺乏自动化。使用转发代理 DNS 服务器和水平分割 DNS 服务,您的 ISP 可以将其 DNS 服务器和内部 HTTP 服务器移动到不同的 IP 地址,而无需您进行任何操作。路由器上的转发代理通过 DHCP 获取 DNS 服务的新 IP 地址自动地,任何新的 HTTP 服务器 IP 地址都只需按常规方式查找即可。hosts相比之下,对于文件篡改,每次 ISP 更改这些内容时,您都必须重新编辑文件hosts才能跟上。而您的 ISP 认为您正在使用 DHCP 进行这些操作,几乎肯定认为自己没有义务通知您以其他方式也就是改变了内部设备。

进一步阅读

相关内容