作者n00298 (螺丝起子ww)
看板Network
标题Re: [问题] 有办法知道某比DNS快取是从那里取得的吗?
时间Fri Jul 2 10:55:34 2010
※ 引述《JYHuang (夏天到了,冷不起来了说)》之铭言:
: → wst2080:IP跑掉的问题??? 不太懂你的意思 07/02 09:08
: → n00298:我也听不懂原po的意思 囧,你先看看你出问题主机的dns在哪 07/02 09:25
: 简单的说,目前的环境是
: 内部PC上网时会经由DHCP取得IP,DNS,Gateway
: 主要DNS会指向内部的DNS Server
: (xxx.com.tw这个Domain Name 则由SeedNet做代管)
: 有时内部PC会无法透过domain name连上某些Server
: (无外部Doman Name)
: ping Email Server的Domain的话则会回应真实IP(61.x.x.x)而非私有IP(192.x.x.x)
: (我说的IP跑掉是这个意思,我PC的网路设定是用手动设定的,没有登入AD)
: ping 其它Server的话,则会回应 could not find host service.xxxx.com.tw
: 只要client端把 DNS Client服务关掉後
: Ping Email Server时就会回应内部的IP
: (直接向DNS询问对应的IP..而不是透过快取)
: DNS Server是单纯对内的AD,外部不会透过这台去管理 xxxx.com.tw 这个网域
所以说你目前的情况是
LAN WAN
┌──┐ ┌──────┐
│电脑│────│SEEDNET的DNS│
└──┘ └──────┘
│
┌──┐
│MAIL│
└──┘
PING MAIL这台主机,他解析出的位置为61.X.X.X
取消DNS服务,再PING MAIL这台主机,则得到私人位置192.168.X.X
你送封包给DNS要求名称解析,如果DNS没有这笔快取,就会去问ROOT
利用DHCP,他也会配发给你一个DNS SERVER,也就是SEEDNET这个位置
当外部的WAN中有个跟你MAIL主机相似的位置时
DNS自然会发给你那个由ROOT告诉他的"真实存在"的位置
当你取消DNS的服务之後,
PING你的MAIL
这时你的电脑会利用"广播"的方法去问你的网域
看里面有没有MAIL这台主机
当然你这台是真实存在的,他自然会回应你
如果确定是我叙述的这个情形的话
有几种解决办法
第一个就是直接修改你MAIL的名称,避免误判
第二个就是修改你本机一个叫HOSTS的档案,预设路径为
C:\WINDOWS\system32\drivers\etc
打开这个HOSTS的档案(用记事本)
在下面新增一笔资料
照着上面的范例打
IP(你的MAIL主机IP) 主机完整名称
直接将这笔资料写入你的快取里面就可以导向你要的位置
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.232.101.195
※ 编辑: n00298 来自: 118.232.101.195 (07/02 10:56)
1F:推 JYHuang:1. DHCP发的DNS是指向内部的DNS Server 07/02 11:35
2F:→ JYHuang:SeedNet的DNS是代管的,主要是让外面能指向某些Server 07/02 11:36
3F:→ JYHuang:2. 修改本机设定的话,内部人员跟Server太多..效益太小 07/02 11:37
4F:→ JYHuang:3. 主要是找出错误的DNS快取是如何来的,这样才能治本 07/02 11:38
5F:→ JYHuang:PS 我说的取消DNS服务是把"服务"内的DNS Client关闭 07/02 11:39
6F:→ JYHuang: 会直接向内部的DNS Server寻问IP 07/02 11:40
7F:→ n00298:所以说dns运作方法就是先查快取,没有的话问root 07/02 11:40
8F:→ n00298:现在他回答你一个合法ip代表他已经去问root了 07/02 11:41
9F:→ n00298:所以说你只能在dns server上下手,直接新增一笔主机资料 07/02 11:41
10F:→ n00298:我目前所指的就是你内部的DNS SERVER 07/02 11:54