我已经能够解决我的问题,所以我不是在寻找解决方案,而是在寻找为什么我会看到如下所述行为的答案:
语境:我正在开发一款使用软件组件通过本地 SMTP 服务器组件转发电子邮件的应用程序。我的 Windows 7 开发机使用 Virgin Media Super Hub 路由器后面的住宅宽带连接。
该组件要求我指定 DNS 地址以进行域名解析。最初,我使用了 TCP/IPv4 连接属性中指定的 DNS 服务器地址。我尝试中继电子邮件失败,域名解析超时。
我使用了 cmd 窗口“ nslookup www.google.com
”。此操作因超时而失败:
所以我ipconfig/all
再次使用“ ”检查名称服务器。报告称名称服务器位于地址 192.168.0.1
此时我的互联网连接正常工作,因此我将 TCP/IPv4 连接属性更改为“自动获取 IP 地址”和“自动获取 DNS 服务器地址”。
接下来,我测试了 SMTP 中继,并且它可以工作。
我再次使用“ ipconfig/all
”,发现我的名称服务器现在报告为:
194.168.4.100 194.168.8.100
现在我将 TCP/IPv4 连接属性改回以前的固定设置。
只要我继续在 SMTP 中继应用程序中指定 194.168.4.100 作为名称服务器,一切就都能正常工作,尽管 Windows 配置为使用 192.168.0.1。
我不喜欢不明白为什么:
- 我无法使用标准 cmd 方法检查正在使用的 DNS 服务器。
- 为什么 Windows 似乎使用了与配置的不同的 DNS 服务器地址。
有人可以解决上述问题并回答我的问题吗:
- 我的路由器是否可能对某些类型的查询转换 DNS 地址,但对其他类型的查询却不转换?
任何能够在这里阐明的事情都将不胜感激!
答案1
看起来您在他们的 DNS 设置中遇到了一些奇怪的问题。
194.168.4.100
并且194.168.8.100
似乎是 ISP DNS 服务器。208.67.222.222
是一个 OpenDNS 服务器,并且192.168.0.1
是您的路由器的 DNS(可能使用前者之一进行 DNS 解析)。
因此,我得出的结论是,您的路由器的 DNS 要么不存在,要么无法正常运行。但是...当您使用 DHCP 时,您的“自动”设置会切换到 ISP 分配的设置,而不是路由器设置。所以...可能只是网络设置方式的一个怪癖。