我继承了 DNS 服务器设置,并尝试正确配置我们的本地内联网。如果这很简单,请原谅,但我在配置中遗漏了一些东西。
我们正在尝试在 1 台 IIS 6 服务器(Server 2003)上托管 2 个独立的内部网站点。
站点 1:http:// 服务器名称 (ipaddress:80) 站点 2:http:// 生产 (ipaddress:8080) - IIS 中“生产”的主机头值和 DNS A 记录设置指向正确的服务器。
一切都正常运行一段时间,但意外的是,我们失去了输入“生产”的能力 - 并收到 DNS 解析器错误。
如果我们 cmd > ipconfig /flushDNS,一切都会恢复正常。
为什么每个客户端都会丢失引用,然后在一段时间内不允许我们连接?(nslookup 总是能找到正确的服务器,然后它又可以正常工作了)
有没有办法创建“静态”引用,而无需更改每台电脑上的 HOSTS 文件(不切实际)。
在此先感谢您的帮助!
答案1
A 记录是除非您允许动态更新,否则将使用静态引用。/flushdns 似乎可以修复该问题,但这一事实有点令人费解,因为该命令所做的只是清除缓存。除非记录本身发生变化(这通常是人们想要清除缓存的原因),否则清除缓存作为修复方法实际上没有任何意义。
如果这是 Windows DNS 服务器,您是否恰好启用了清理功能?如果未启用,您是否运行了多个 DNS 服务器,并且区域即将过期?
您可以尝试关闭几个工作站上的 DNS 缓存,看看它们是否会与缓存工作站同时出现故障。
“net stop dnscache”将停用缓存,直到下次重启。
编辑:在内部,我们曾经运行大约 100 个不同的 A 记录,它们都指向本质上相同的资源,如果您必须更改分辨率,除非您 100% 确定您的 sed/awk 技能,否则这绝对是一场噩梦。现在我坚持他们要么使用我建立的标准,要么使用指向基于标准的 A 记录的 CNAME。一个例子:
$ORIGIN mydomain.com.
socketalpha CNAME alpha.socket
socketbeta CNAME beta.socket
socketdvlp CNAME dvlp.socket
socketsystems CNAME systems.socket
alpha A 192.168.125.12
alphasecure CNAME alpha.secure
alphasecured CNAME alpha.secured
$ORIGIN secure.mydomain.com.
alpha A 192.168.125.32
beta A 192.168.125.33
dvlp A 192.168.125.31
systems A 192.168.125.30
我推行的标准是...您可能可以为自己的设置找到更有效的方法,但使用这种方法意味着,例如,如果 alpha.socket.mydomain.com 的服务器/虚拟发生变化,我不必更改多个 A 记录。
答案2
您正在运行 WINS 吗?这可能有助于解析 NetBIOS 名称。
您还可以考虑在客户端上设置搜索域,我相信这会自动将您的域名附加到您的服务器名称,以便创建一个您的 DNS 服务器可能更容易解析的 FQDN。
答案3
如果你使用主机头不是想使用相同的端口,即端口80