首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 邮件与开发 | 金笛 |
首页 > 邮件服务器 > Exchange Server > 工程师手记-无法解析出正确的MX记录 > 正文

工程师手记-无法解析出正确的MX记录

出处:WinITPro国际中文版 作者:陈孝俊 时间:2006-3-14 13:03:00
       工程师简介:陈孝俊,现任职于微软全球技术支持中心。主要负责为微软的客户和合作伙伴提供Exchange、Windows和Networking方面的售后技术支持。您可以通过dell3@sohu.com与他联系

     预备知识:
     众所周知,DNS是域名系统(Domain Name System)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其它信息,如IP地址。在Windows网络之中,有一些常用的工具来测试DNS解析,其中我们最常用的就是NSLOOKUP命令,该命令可以用于正向和反向的DNS解析。
     以下文章中讲到了DSLOOKUP命令的一个用途,同样也和我下面讲述的问题有一些联系:
How to obtain Internet Mail Exchanger records with the Nslookup.exe Utility
http://support.microsoft.com/kb/203204

     问题1:
     客户使用的是一台Windows 2000 Server的系统,已经安装了SP4以及一些关键的安全补丁。这台服务器工作在Workgroup模式下,上面安装了Windows的DNS服务,并且配置了多个DNS的区域。其中有一个区域,名称为test.cn,添加了一条MX记录供邮件服务器使用。
     现在遇到的问题是这个客户使用NSLOOKUP命令测试名称解释的时候经常出现超时的错误,测试的结果如下:
 
C:\Documents and Settings\Administrator>nslookup
DNS request timed out.
    timeout was 2 seconds.
*** Can't find server name for address 192.168.1.1: Timed out
*** Default servers are not available
Default Server:  UnKnown
Address:  192.168.1.1

     排错1:
     虽然现在的局域网内反向(PTR)记录没有什么实用价值,但是如果DNS服务器上没有配置服务器本身的PTR记录,那么会造成解析NSLOOKUP解析超时,因为NSLOOKUP命令总是会尝试解析服务器的名称。由于这个原因,我首先要求客户建立这台DNS服务器的反向记录。
     问题2:
     建立PTR记录之后又发现新的问题。当尝试在服务器本机解析test.cn中的MX记录时,发现会出现解析错误,但并不是一直出现,只是随机出现。具体的问题如下:

 
> set type=mx
> test.cn
Server:  ns.test.cn
Address:  192.168.1.1
 
test.cn MX preference = 10, mail exchanger = mail.test.cn
mail.test.cn    internet address = 192.168.1.244
> test.cn
Server:  ns.test.cn
Address:  192.168.1.1
 
Non-authoritative answer:
test.cn.com     MX preference = 0, mail exchanger = null.centralnic.net
但是,如果在客户机上使用NSLOOKUP命令测试时,却发现没有问题。

     排错2:
     我看到这个问题就觉得比较奇怪,因为DNS服务器接收到客户请求时会首先尝试在本地的缓存和本地的区域中进行解析,如果失败,那么就会将这个请求交给用户在转发器中设置的DNS服务器上。如果没有设置转发器,那么就将DNS查询请求交给“根目录提示”中的Internet DNS根服务器,最终得到一个答案回送给客户。如果服务器是从其它名称服务器上获得答案的,那么就会以“Non-authoritative answer”显示。但是这个客户告诉我test.cn的区域本就是在这台服务器上的,MX记录也在这个区域中。由于此时我没有什么想法,所以我要求客户协助我收集一些必要的信息:
     收集服务器上的MPS报告。MPS报告是十分有用的信息,不同类型的MPS会包含不同的信息。这个工具的下载地址是:http://www.microsoft.com/downloads/details.aspx?FamilyID=CEBF3C7C-7CA5-408F-88B7-F9C79B7306C0&displaylang=en
     建议客户清空DNS缓存且检查转发器的设置之后再测试一下。
     为了查看DNS具体的工作过程,我决定开启DNS Debug Logging(在DNS管理工具中右击服务器,日志标签下的那些设置)。
     Debug Logging会增加服务器的负荷,所以不建议在系统没有问题的时候启用该日志。
     问题3:
     客户将服务器上MPS报告以及DNS Debug Log给了我,并且告诉我清空DNS缓存以及转发器后问题依旧。
     排错3:
     之所以要求客户清除转发器的设置,是为了排除转发服务器配置错误的可能。没有配置转发器的服务器上,如果DNS查询本地解析不了,DNS查询将转发到Internet根服务器上,我们可以相信这些根服务器是不会有问题的。
     即便这样配置了,问题依旧发生。此时我不得不查看了客户给的DNS Debug Log,在其中发现如下的记录(由于记录很多,所以只能截取其中关键的几行):
 
Rcv   192.168.1.1     0003    Q [0001   D   NOERROR] (4)test(2)cn(0)
UDP question info at 00DF449C
  ……
 
Snd   210.21.4.130    305a    Q [0001   D   NOERROR] (3)192(3)168(1)1(3)244(0)
UDP question info at 005419AC

     以上是一个收(Rcv)和一个发(Snd)的数据记录,从中我发现了一个问题。标准的MX记录应该指向一条A记录,当要求解析邮件服务器地址的时候,服务器首先给出一个FQDN(全称域名),然后根据这个FQDN查询相应的A记录,从而最终获得IP地址。但是从日志中可以发现服务器在接到客户请求后向外部服务器(210.21.4.130)发送了一个查询请求,这个请求就是解析192.168.1.244的IP地址。很明显,客户那里的MX记录指向了一个IP地址,服务器尝试将这个地址作为域名进行解析,这样可能会造成问题。于是,我建议用户修改MX记录,将其指向一个A记录。
     问题4:
     客户修改了记录之后重新使用NSLOOKUP命令进行解析测试,但是问题依旧发生。同时客户重新提供了一份新的DNS Debug Log供我进行分析。
 
     排错4:
     到了这个时候,我还是不清楚导致这个问题的根本原因。我怀疑过由于服务的负荷太大导致解析不正常,但是没有道理问题只发生在服务器上,而客户端完全正常,据此可以判断问题应该和服务器本机有所关联。于是我再一次查看了服务器上的一些日志,希望有所发现。
     根据NSLOOKUP命令解析出的结果在DNS Debug Log中搜索了一下,发现了一个奇怪的问题,就是在错误的结果之前均能够找到一个特殊的查询请求:(4)test(2)cn(3)com(0)。但是客户从来没有尝试过解析test.cn.com,为什么会有这样的解析请求呢?详细情况请看以下记录:
 
Rcv   192.168.1.1     0002    Q [0001   D   NOERROR] (4)test(2)cn(3)com(0)
UDP question info at 0053CEDC
  ……
 
Snd   202.96.69.38    08b2    Q [0001   D   NOERROR] (4)test(2)cn(3)com(0)
UDP question info at 0054BE8C
    ……
 
Rcv   202.96.69.38    08b2  R Q [8081   DR  NOERROR] (4)test(2)cn(3)com(0)
UDP response info at 00DFEDBC
      DATA   0 (4)null(10)centralnic(3)net(0)
    …….
 
Snd   192.168.1.1     0002  R Q [8081   DR  NOERROR] (4)test(2)cn(3)com(0)
UDP response info at 00DFEDBC
      DATA   0 (4)null(10)centralnic(3)net(0)
    ……
      从上面的记录中可以看出,null.centralnic.net并不是对应于test.cn域的邮件服务器,而是解析test.cn.com时回应的数据。接着我在查看MPS报告时发现如下的信息:
 
 Host Name . . . . . . . . . . . . : test
        Primary DNS Suffix  . . . . . . . : com
        Node Type . . . . . . . . . . . . : Broadcast
        WINS Proxy Enabled. . . . . . . . : No

      其中Primary DNS Suffix  . . . . . . . : com这个配置引起了我的注意,因为在工作组环境中的计算机Primary DNS Suffix应该是空的,不会有任何值。很明显这个com后缀是人为加上去的。由于问题出在了服务器接到的请求由正确的test.cn变成了错误的test.cn.com,那么会不会与这个DNS后缀有什么联系呢?
      为了证明我的猜测,我建立了一个测试环境,希望能够有些收获。我安装了一台Windows 2000的DNS服务器以及一台Windows 2000的客户机。由于在一台计算机上进行抓包不是很方便,所以我独立安装了一台Windows 2000的客户机,在客户机上使用NSLOOKUP命令进行测试,并且将客户机的Primary DNS Suffix也设置成com,这样我就可以在服务器上使用网络监视器进行抓包分析。进行抓包之后,我终于有了发现,请看具体的截屏:

      从这个抓包的结果中我们可以发现NSLOOKUP的工作方式:
      当我们输入一个要解析的域名或主机之后,NSLOOKUP会首先将主DNS后缀加在用户输入的信息后面。在这个例子中,我输入了test.cn,但是发出的第一条查询却是test.cn.com。当解析失败之后,NSLOOKUP工具再次发出一个新的请求,此时这个请求后面就没有添加主DNS后缀。很巧的是,这个客户的环境中,test.cn.com是可以从外部解析到的,所以NSLOOKUP直接将解析到的结果显示出来,而没有再次尝试使用test.cn进行查询,这就是问题的根本原因了。至于有时候能够正常解析,则很可能是缓存的缘故。
      根据我的研究,解决这个问题的方法有两个:
      1. 删除错误的主DNS后缀。
      2. 在NSLOOKUP命令中,在每个要解析的域名或主机名之后加上一个句点,这个点号的作用就是告诉系统名称已经写到根了,不用把本机的主DNS后缀加在用户输入的信息后面了,这样解析也就正常了。
      总结
      DNS是一个基本的服务,但是基本不等于简单。DNS服务配置不当往往会导致各种各样的问题,例如在多个Domain的环境中往往会因为DNS设计不佳造成AD复制的问题。下面是有关DNS常见错误的一些资料:
      DNS服务器疑难解答
      DNS客户端疑难解答
 
      工程师心语:
      在进行排错的时候,以往的经验固然十分重要,但是往往一些联想或假设也能帮助我们解决一些比较少见的问题。另外,我们平时很少接触的诊断日志和跟踪日志在解决一些比较复杂的问题时往往是非常有用的信息。在工作之中,我们也会经常使用Netmon这类的网络监视(嗅探)工具,很多人认为看数据包是一件很高深的工作,但事实并不是这样。网络中的数据包往往是明文传输的,除非使用了SSL或者IPSec进行加密。从抓获的数据包中我们能够获得最可靠也是最根本的信息。通过抓包分析解决很多性能相关的网络问题往往是最快也是最方便的。
      最后,我可以将排错的过程归结成以下公式:
      解决方法=以往的经验*50%+资料搜索*30%+大胆的假设*10%+运气*10%
相关文章 热门文章
  • Microsoft Windows SMTP Server组件MX记录解析拒绝服务漏洞(MS10-024)
  • McAfee完成对邮件归档厂商MX LOGIC的收购
  • exchange排错小工具01 MXtest和smtpsender
  • 在 Trend Micro IMSS 外发邮件时使用目标域名的特定 MX RRs
  • 使用nfs使得mx邮件服务器跟mail storage 分开
  • 万网 MX 记录设置解图文教程
  • MX记录设置及邮件传输原理
  • 如何让postfix找到最佳MX记录
  • 域名、DNS、A记录以及MX记录的基本概念
  • 检查某域名的MX记录是否已经存在的方法
  • 企业邮箱用户如何设置域名管理的MX指向
  • 如何作邮件交换记录(MX)实例
  • Exchange 2000 Server 常见问题(四)
  • Exchange 2000 Server 常见问题(一)
  • Exchange 2000 Server 常见问题(三)
  • Exchange 2000 Server 常见问题(五)
  • Exchange 2000 Server 常见问题(二)
  • 部署Exchange Server 2003问题集(1)
  • Telnet到端口25以测试SMTP通信
  • 限制Exchange用户从Internet收发邮件
  • Exchange Server管理与设定(一)
  • 使用Exchange 2000 Server 构建多域名邮件系统
  • 虚拟内存碎片的检测和EXCHANGE的内存优化
  • Exchange Server 公用程序(一)
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号