我最近在网络中安装了 Cisco Linksys E3200 无线路由器。它附带一个运行 Bind DNS 的 Linux 服务器,用于解析内部服务的名称。
以前,我有一个 Netgear 路由器,所有操作系统(Windows、Linux、Mac)都可以立即解析 DNS。现在,似乎只有 Linux 和 Mac 可以解析 DNS。Windows(XP 和 7)似乎需要几个小时或几天才能最终找到 DNS 服务器,导致很多沮丧的用户问我“为什么我无法访问任何东西?”
我没有发现路由器设置中有什么明显错误,所以我的短期修复方法是向 Windows 用户分发一个主机文件,但这显然不是正确的解决方案。
Windows 计算机可以 ping 内部 DNS 服务器,但它们无法获取 DNS 域/搜索/名称服务器设置。我该如何诊断 Windows 无法正确解析 DNS 的原因?
编辑:我的 /etc/resolv.conf 自动填充从我的路由器检索到的 DNS 设置。
域名 mydomain.com 搜索 mydomain.com 名称服务器 10.157.10.1 名称服务器 10.157.10.2 名称服务器 192.168.1.1
答案1
据我所知,Windows 客户端无法理解 resolv.conf。您需要在 Windows 客户端的 IP 配置中配置 DNS 服务器地址(手动或通过 DHCP)。
答案2
我推断您的路由器也是 DHCP 服务器。话虽如此,Cisco 路由器上是否输入了 Linux DNS 服务器 (BIND DNS) 的 IP 地址?如果是这样,那么客户端计算机应该能够获取 Linux DNS 服务器 (BIND DNS) 的 IP 地址,并使用其 DNS 文件 (resolv.conf) 查询该 DNS 服务器以进行名称解析。如果您拥有的 DHCP 不是路由器,请检查范围选项以查看是否输入了任何 DNS IP。