是否需要使用OSX上的主机在本地验证DNS?

OSX Mac终端

我的一位客户将其网站迁移到了一个批量托管帐户。 他们更新了A和CNAME记录的域的DNS设置,但是很难确定站点是否使用新的托管帐户(新的IP地址)进行解析。


对DNS进行故障排除时,需要牢记一些注意事项。 了解DNS的工作原理,了解域注册器的工作原理,然后了解主机如何管理其域条目。


DNS如何工作


在浏览器中键入域时:


  1. 在Internet中查找域 名称服务器 查找应将请求发送到的位置。
  2. 如果是网络域请求(http),则名称服务器将 将IP地址返回到您的计算机.
  3. 然后,您的计算机将其存储在本地,称为 DNS高速缓存.
  4. 该请求被发送到主机,该主机路由该请求 内部 并展示您的网站。


您的域名注册商的工作方式


关于此的注释…并非每个域注册商实际上都在管理您的DNS。 例如,我有一个客户端通过Yahoo!注册其域。 雅虎! 尽管在其管理中出现了该域,但实际上并没有对其进行管理。 他们只是经销商 Tucows的。 因此,当您在Yahoo!中更改DNS设置时,可能要花几个小时才能真正在Google帐户中更新这些更改。 真实 域名注册商。


当您的DNS设置确实得到更新时,它们就会在Internet上的一系列服务器中传播。 在大多数情况下,这实际上只需几秒钟即可完成。 这是人们愿意付款的原因之一 托管DNS。 托管DNS公司通常既具有冗余性又具有难以置信的快……通常比您的域注册商快。


Internet服务器更新后,系统下次发送DNS请求时,将返回托管站点的IP地址。 注意: 请记住,我说的是您的系统下次发出请求时。 如果您以前请求该域,则Internet可能是最新的,但您的本地系统可能正在根据DNS缓存解析旧的IP地址。


您的主机DNS的工作方式


本地系统返回并缓存的IP地址通常不是单个网站唯一的。 主机可能在单个IP地址(通常是服务器或虚拟服务器)上托管数十个甚至数百个网站。 因此,当从IP地址请求您的域时,主机会将您的请求转发到服务器内的特定文件夹位置,并显示您的页面。


如何对DNS进行故障排除


因为这里有三个系统,所以也有三个系统要进行故障排除! 首先,您只需要检查本地系统以查看IP地址在系统中指向的位置:


OSX终端Ping


通过打开“终端”窗口并键入以下命令,可以轻松完成此操作:


ping域.com


或者,您实际上可以执行特定的名称服务器查找:


nslookup 域名.com


终端nslookup


如果您已经更新了域名注册机构中的DNS设置,则将要确保清除了DNS缓存,然后再次提出请求。 要在OSX中清除DNS缓存,请执行以下操作:


须藤dnscacheutil -flushcache


终端刷新DNS缓存


您可以重试 or NSLOOKUP 查看域此时是否解析为新的IP地址。


下一步将是查看Internet DNS服务器是否已更新。 保持 DNS资料 为此,您可以通过他们的平台获得完整的DNS报告,这非常好。 飞轮 他们平台上有一个很棒的DNS检查器,可以查询 谷歌, OpenDNS的, 互联网,并探测网络以查看您的设置是否已在网络上正确传播。


如果您看到IP地址正确地显示在Web上并且您的站点仍未显示,则还可以绕过Internet的服务器,并告诉系统仅将请求直接发送到IP地址。 您可以通过更新主机文件并刷新DNS来实现。 为此,请打开“终端”并键入:


sudo nano / etc / hosts


终端Sudo Nano主机


输入系统密码,然后按Enter。 这将直接在终端中调出文件进行编辑。 使用箭头移动光标,并在新行中添加IP地址和域名。


终端主机保存文件


要保存文件,请按 控制-o 在键盘上,然后返回以接受文件名。 按退出编辑器 控制x,这将使您返回命令行。 不要忘记刷新缓存。 如果该站点无法正常运行,则可能是您的主机本地存在的问题,您应该与他们联系并告知他们。


最后说明...不要忘记将主机文件恢复为原始版本。 您不想在其中留下要自动更新的条目!


通过执行以下步骤,我能够验证我的注册服务商中的DNS条目是最新的,Internet上的DNS条目是最新的,我的Mac的DNS缓存是最新的以及网络主机的DNS是最新的迄今为止……很好!

你觉得呢?

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.