建站经验分享:修改DNS、或域名解析在本机真正立即生效简法

王志勇 发表于 2011年01月13日 17:27

过去有很多人是使用修改本机hosts文件的方法,这种方法虽然十分好,但还有更好一些的方法。因为修改本机hosts文件的不方便之处在于,等域名生效之后,需要删除hosts文件中添加的域名。另一方面,我的电脑中保存了3个hosts文件,也就是3个不同的版本,需要用到的时候,执行.bat文件将其替换。你也可以建立很多个hosts文件,用的时候将其替换。由于这3个文件中没有写入要使新修改的域名解析在本机生效,所以每次替换一下,本机C:\WINDOWS\system32\drivers\etc\hosts文件中的记录就会被清除,有些不方便。

于是最近无意中摸索到不用修改hosts文件的方法而使修改的域名解析在本机立即生效。方法就是先在网上搜索各地的DNS,例如你的宽带是广州电信,能否使用湖北的DNS服务器,经过测试,是可以的,全国各地的都可以。如果你的ADSL是电信,就在Google搜索“电信 DNS”,网通则搜索“网通 DNS”,会有很多全国各地的DNS,然后分别ping这些DNS,点击“开始→运行”,输入“ping ***.***.***.** -t”,应该使用与自己的宽带同省,或者邻近省份的DNS,ping值在50ms以内是最佳的,70ms左右也可以,如果没有返回ping值,则不能用。

然后打开域名的控制面板,修改DNS,或者修改A记录,或者修改CNAME,保存,约5分钟后执行下列的步骤:

点击“开始→网络连接”,双击“本地连接”,双击最后一项“TCP/IP”,在最下方选择“使用下面的DNS服务器地址”,“首选DNS服务器”输入一个有效的DNS地址(也就是刚才搜索到的ping较快的DNS),“备用DNS服务器”输入8.8.8.8,或者固定使用其它的,为了方便起见,“备用DNS服务器”一直保持固定不要变,这样会省很多的麻烦,如下图:

然后再点击“开始→网络连接”,双击“本地连接”,点击“断开”,再双击“本地连接”,会再次连接。这个操作因为很常用,直接把“本地连接”设置一个快捷方式比较方便。这时ping一下域名,正常就应该生效了。如果不能生效,“首选DNS服务器”再换一个。3小时后,再将“TCP/IP”的DNS服务器设置为原来的。

无论是修改域名的DNS,还是修改A记录,用上述修改本机使用的DNS服务器的方法,都会立即生效。这是因为域名解析的原理,域名解析是先调用宽带所在的DNS服务器,如果此DNS服务器没有此域名,则会直接从域名所在的服务器中读取。域名的TTL建议设置为3600秒比较好,不要太长也不要太短。如果你在一天内对同一域名修改多次解析,可以多收集省内、邻近省份有效的DNS服务器,循环使用。估计5~10个左右就够用了,把它们妥善地保存起来;如果还是不够用,收集20多个应该足够用了。

本文的作用是需要使域名在本机的DNS、或者域名解析生效,例如对于网站转移、修改域名解析的时候会用到。此方法的优点是本机真正立即生效,还可以用来检查域名的DNS、或者A记录等的设置是否正确。此方法能否立即生效,取决于本机使用的DNS服务器中是否有域名的缓存,而此方法与TTL的时间长短无关。过去我都是需要等几个小时生效,现在用了这种方法,可以立即生效,而不需要等了,这也是我之前有几次突然修改DNS会立即生效的原因,http://www.auiou.com/relevant/00000614.jsp。当然,要使域名的新解析在全国生效,要等浏览者的宽带所在的DNS服务器中此域名的解析缓存结束后才会生效,也就是TTL设置的时间。也有时会遇到域名解析在全国生效的时间会远大于TTL的值,可能另有原因。

当然,如果你的域名流量较大、是全国各地很多网友常在访问,则不适于使用此法,只能用修改本机hosts文件的方法。因为全国的DNS服务器是有限的,在你测试的时候,那些DNS服务器中恰好有这个域名的缓存,则此方法不能奏效。

4条评论:
1   xyu_ovi 2011-01-13 21:19
昏倒!今天才发啊!昨天折腾了一天就是因为一个a记录ttl时间太长。
2   网友 2011-01-14 15:46
支持一下!不错
3   juwo 2011-01-14 22:28
勇哥,友情链接申请的链接坏了?打不开..我想申请一下。
4   juwo 2011-01-14 22:28
啊!好了~

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写