悠悠楠杉
域名服务器分为四种,访问异常时该查哪一层?
浏览器输入域名后,要通过DNS找到对应的访问地址。按常见的查询分工,域名服务器分为根域名服务器、顶级域名服务器、权威域名服务器和本地域名服务器四种;这里的“本地”指用户使用的递归解析服务,不一定部署在用户所在的局域网。
这四种角色承担的任务不同。遇到网页打不开,或修改解析后部分用户仍访问旧站,先分清查询经过哪里、记录存在哪里,才能找到该处理的位置。
输入域名后,查询经过哪些服务器?
电脑一般把查询交给本地域名服务器,也就是递归解析器。它可能来自宽带运营商,也可能是手动设置的公共DNS。它负责替用户寻找答案,还会缓存查询结果,减少重复查询。
缓存中没有可用答案时,递归解析器沿着DNS层级继续查找。根域名服务器告诉它去哪里查对应的顶级域;顶级域名服务器再提供下一层的委派信息,引导它找到负责该域名的权威服务器。网站对应的地址记录,由权威服务器提供。
根服务器不会替每个网站保存IP地址,顶级域名服务器也不会直接管理所有网站的解析记录。查询有缓存时,还可能跳过前面的环节,并非每次打开网页都完整走一遍。
修改电脑DNS,还是修改域名解析?
电脑网络设置中的DNS地址,决定“向谁询问”;域名管理后台里的解析记录,决定“这个域名回答什么”。两处设置影响的对象不同。
如果当前递归解析器无响应,换用另一个可靠的解析服务,可能恢复查询。但域名的权威记录写错了,换电脑DNS无法修正网站地址;不同解析器还可能因为缓存状态不同,暂时给出不同答案。
域名持有人要改网站地址,应在实际承载解析的服务商后台处理。购买域名的平台未必就是当前DNS托管平台。后台保存成功却查不到新记录时,核对域名当前的NS委派,确认修改的是正在提供服务的那套权威服务器。
若权威查询已经返回预期地址,网页仍打不开,就把排查范围转向网站服务或网络连接,避免反复修改DNS。解析成功只完成了地址查询,并未证明目标服务器能够正常提供页面。
网站迁移后,为什么还有用户访问旧站?
例如,一个网站迁移到新服务器,管理员在现有DNS托管平台修改了地址记录,却发现部分网络访问新站,另一些网络仍打开旧站。在权威记录已经正确更新的前提下,这种差异常与递归解析器保留的旧缓存有关。
管理员直接查询权威服务器,核对新地址,同时保留受影响网络返回的旧地址和查询时间。两个答案来自不同环节,不能仅凭某一台电脑已经访问新站,就关闭旧服务器。
记录中的TTL表示缓存可保留的时间。迁移前提前降低TTL,能缩短之后取得该记录的缓存周期;迁移当天才调低,已经缓存的旧答案仍按原先取得的TTL处理。清除本机缓存,也不会同步清空运营商或公共DNS中的缓存。
在这个迁移情境中,处理方向是维持新旧服务器一段时间的可用性,继续核对旧地址的访问情况,而不是不断切换记录。保留旧服务会占用资源;过早停机,则可能让仍拿到旧地址的用户遇到连接失败。具体保留多久,要看原TTL和实际访问反馈,不能套用固定时长。
后续记录受影响网络的查询结果及剩余TTL,核对旧服务器是否仍收到访问。下一次迁移前,把降低TTL的时间写进迁移安排,并在停止旧服务前确认缓存过渡情况。

