Chinaunix首页 | 论坛 | 博客
  • 博客访问: 226741
  • 博文数量: 26
  • 博客积分: 1435
  • 博客等级: 上尉
  • 技术积分: 290
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-15 16:11
文章分类

全部博文(26)

文章存档

2014年(1)

2013年(2)

2012年(1)

2011年(1)

2010年(2)

2009年(11)

2008年(3)

2006年(3)

2005年(2)

我的朋友

分类: WINDOWS

2010-04-02 15:15:26

司有一套ERP系统,配置的IP地址是内网地址:192.168.10.200。
无论从公司内还是公司外部访问统一使用域名:erp.xxx.com;
外网访问该ERP时,在防火墙上通过地址映射的方式,将一个外网IP地址映射到内网地址192.168.10.200;
内网访问该ERP时,公司内部的DNS服务器将域名指向192.168.10.200;
 
运行一段时间后,发现DNS缓存给我们制造了不少麻烦:
笔记本电脑在外网访问ERP系统后,该机器的DNS解析得到的是外网IP,并被缓存。当该电脑回到公司内网再次访问ERP系统时,由于DNS缓存的作用,仍然将访问ERP系统的外网IP,结果就不能正常访问。只有清空DNS缓存后,电脑才能向公司内部DNS服务器发出DNS解析请求到正确的IP地址(内网地址)。
 
终极解决方法:禁用电脑的DNS缓存,即:将“服务”中的“DNS client”服务禁用。
禁用后,上网速度会有影响吗?根据我用sniffer抓包测试,禁用前后,解析域名得到IP地址的时间相差微乎其微,可以不用考虑。唯一需要注意的是,如果内网是一个域的环境,那么还是慎重考虑是否要禁用DNS client服务,因为这将影响到和域相关的所有操作。
 
一些与DNS解析有关的命令:
ipconfig/displaydns   -查看被缓存的域名解析
ipconfig/flushdns     -清空DNS缓存
 
 
 
 
阅读(6442) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~