才发现DNS原来这么重要

公司本来上网好好的,突然所有都无法访问了,刚开始以为是线路的问题,因为硬件、网络环境什么都没有变动,并且是大家都无法访问,不是某台机器的问题,可是就是查不出原因。更加令人疑惑的人,看股票用的大智慧、聊天用的qq居然都还能够正常工作!ping河北省网通的DNS服务器202.99.160.68,反应正常,说明网络线路是连通的,那为什么网站都无法访问呢。后来给网通的技术人员打电话询问,才明白问题的所在,原来202.99.160.68这台机器,也就是河北省网通的主dns服务器,刚才ping正常的,它上面的dns功能不正常了,所以才出现网站无法访问的情况——dns无法正常解析了。而大智慧、qq等都是直接用ip地址通信的,不存在dns解析的问题,所以仍然工作正常。

在dns服务器中增加备用dns服务器202.99.166.4(在唐山,辅DNS服务器),一切恢复正常。

顺便整理一些DNS使用方面的资料(转):

在DNS缓存中记录条目每隔一段时间将被更新一次,长时间不用的条目将被丢弃,这个时间间隔称为生存时间(TTL)。默认情况下,得到肯定响应的条目TTL为86,400 秒(1 天),否定响应的TTL win2000下是300秒(5分钟),在winXP和2003中 是 900 秒(15 分钟)。 查看本地DNS缓存记录的命令为:ipconfig /displaydns,清空DNS缓存:ipconfig /flushdns。 关于DNS缓存机制设定的键值都在如下路径中:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
其中MaxCacheEntryTtlLimit为DNS缓存条目TTL最大值,在XP和2003系统中此项名称为MaxCacheTtl。肯定响应条目的TTL,将由在DNS解析器收到的查询响应中指定的秒数和此项数值两者中最小值决定。如果将此项键值设为1 秒,则DNS 缓存看起来已被禁用。NegativeCacheTime为否定响应条目的TTL,XP和2003中此项名称为 MaxNegativeCacheTtl。可以将此项键值改小或直接改为0,则不缓存否定的响应。而NetFailureCacheTime子项为常规网络缓存失败的控制时间,默认30秒。若系统重复发送多次DNS请求,而完全得不到任何DNS服务器的响应,系统会认为网络连接失效,在默认30秒的时间中将不会再向外发送任何DNS查询请求,此项也可减小或置0。

Leave a Reply

Your email address will not be published. Required fields are marked *