DNS服务器与MX邮件交换记录

    全世界的域名服务器其实相当于一个庞大的数据库,这个数据库中的记录用DNS的术语表达出来就是资源记录。资源记录的类型有好几种,包括SOA、A、 NS、CNAME、PTR、MX记录,每种记录负责这个数据库的一个方面。对于邮件系统而言,最关键的就是MX(Mail Exchange)记录。在DNS服务的资源记录配置中,,邮件交换纪录也即MX记录用来指定设置为域的SMTP服务器的域名。如果要在域上建设邮件服务器,必须给出该域名的MX记录,这是在Internet上使用SMTP服务的首要条件,同时还要为该MX记录指定真实的IP地址,即相应地设置一条或多条 A记录。如果有多个邮件服务器,那么可以相应的配置多个MX记录,并可以用一个数字标识来区分各个邮件服务器的优先级别,数字值越低,优先级越高。在 DNS中设置MX记录的语法如下:
IN MX number mail-server-hostname

    其中,number表示优先级,如有 IN MX 10 company.com和IN MX 20 company.com,则该数字的值为10的那个邮件服务器优先级较高,数字的值越低优先级越高。
    在配置好MX记录之后,可以再为邮件域设定各个服务别名,如 smtp.company.com, pop3.company.com, 这些需要指定相应的CNAME记录,指向MX记录的域名,同时给CNAME记录指定对应的A记录


nslookup工具的使用方法

    默认情况下nslookup查询的是A类型的记录。如果我们配置了其他类型的记录希望看到解释是否正常。这时候ping就无能为力了。比如我们配置了MX 记录,但是邮件服务器只能发信不能收信,到底是域名解释问题还是其他的问题Ping命令的检查只能让你误入歧途。nslookup 这时候可以模拟你的其他遇见服务器进行域名解释的情况。我们需要在nslookup上加上适当的参数。指定查询记录类型的指令格式如下:
    nslookup -qt=类型 目标域名 [指定的DNS服务器地址:IP或域名]
 
    注意qt必须小写。
    类型可以是一下字符,不区分大小写:
    A 地址记录(Ipv4)
    AAAA 地址记录(Ipv6)
    AFSDB Andrew文件系统数据库服务器记录(不懂)
    ATMA ATM地址记录(不是自动提款机)
    CNAME 别名记录
    HINFO 硬件配置记录,包括CPU、操作系统信息
    ISDN 域名对应的ISDN号码
    MB 存放指定邮箱的服务器
    MG 邮件组记录
    MINFO 邮件组和邮箱的信息记录
    MR 改名的邮箱记录
    MX 邮件服务器记录
    NS 名字服务器记录
    PTR 反向记录(从IP地址解释域名)
    RP 负责人记录
    RT 路由穿透记录(不懂)
    SRV TCP服务器信息记录(将有大用处)
    TXT 域名对应的文本信息
    X25 域名对应的X.25地址记录
   
    检查域名的缓存时间需要我们使用一个新的参数:-d
    格式如下:
    nslookup -d [其他的参数] 目标域名 [指定的服务器地址]

关于DNS查询的几个不错工具的网站

[url]http://www.dnsreport.com/[/url]
[url]http://centralops.net/co/NsLookup.vbs.asp[/url]
 
用ping查看域名的IP地址,只能查到域名的A记录,查询域名MX记录、CNAME记录或NS记录,可用nslookup命令。nslookup是windows NT/2000/XP和unix、linux等系统自带的命令。(在Windows 98/Me里没有)。 

在Windows的DOS命令行窗口里,或unix/linux的命令行下,输入nslookup 
c:\>nslookup bjall.com 

default server:mail.bjall.com 

address:61.156.xxx.xx 

其中“Default Server”和“Address”是当前上网所用的DNS服务器域名和地址。 
此时,在提示符下直接输入域名,可查到该域名的A记录。例如: 

bjall.com  

server:[url]www.bjall.com [/url]

address:61.156.xxx.xx 

non-authoritative answer 

name:bjall.com  

address:61.156.xxx.xx 

其中“Non-authoritative answer”表示查询结果是从DNS的cache里返回的。 

输入set querytype=mx,再输入域名,可查询MX记录。例如: 

> set querytype=ns 
> bjall.com 
Server:  ns1.sdqdptt.net.cn 
Address:  202.102.134.68 

Non-authoritative answer: 
bjall.com    nameserver = ns1.dns.com.cn 
bjall.com    nameserver = ns2.dns.com.cn 
> set querytype=mx 
> bjall.com 
Server:  ns1.sdqdptt.net.cn 
Address:  202.102.134.68 

Non-authoritative answer: 
bjall.com     MX preference = 10, mail exchang m 

bjall.com     nameserver = ns1.dns.com.cn 
bjall.com     nameserver = ns2.dns.com.cn 

输入set querytype=cname,再输入域名,可查询CNAME记录。 

输入set querytype=ns,再输入域名,可查询NS记录。
 
 
A (Address) 记录
是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。
 
别名记录(CNAME)
也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。 通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。 它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。 这两个别名的全称就是“www.mydomain.com”和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。 同样的方法可以用于当您拥有多个域名需要指向同一服务器IP,此时您就可以将一个域名做A记录指向服务器IP然后将其他的域名做别名到之前做A记录的域名上,那么当您的服务器IP地址变更时您就可以不必麻烦的一个一个域名更改指向了 只需要更改做A记录的那个域名其他做别名的那些域名的指向也将自动更改到新的IP地址上了。
 
MX(Mail Exchanger)记录
是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
检查MX记录是否存在的方法
     进行DNS查询的一个非常有用的工具是nslookup,可以使用它来查询DNS中的各种数据。可以在Windows的命令行下直接运行nslookup进入一个交互模式,在这里能查询各种类型的DNS数据。
     DNS的名字解析数据可以有各种不同的类型,有设置这个zone的参数的SOA类型数据,有设置名字对应的IP地址的A类型数据,有设置邮件交换的MX类型数据。这些不同类型的数据均可以通过nslookup的交互模式来查询,在查询过程中可以使用 set type命令设置相应的查询类型。
如:
C:\>nslookup
Default Server: [202.106.184.166]
Address: 202.106.184.166

> set type=mx
> sina.com.cn
Default Server: [202.106.184.166]
Address: 202.106.184.166

Non-authoritative answer:
sina.com.cn MX preference = 10, mail exchanger = sinamx.sina.com.cn

sina.com.cn nameserver = ns1.sina.com.cn
sina.com.cn nameserver = ns3.sina.com.cn
sinamx.sina.com.cn internet address = 202.106.187.179
sinamx.sina.com.cn internet address = 202.106.182.230
ns1.sina.com.cn internet address = 202.106.184.166
ns3.sina.com.cn internet address = 202.108.44.55

如果所要查的某域名的MX记录不存在,则出现与以下类似的提示:
C:\>nslookup
> set type=mx
> amafdsfxit.com.cn
Default Server: [202.106.184.166]
Address: 202.106.184.166

*** 202.106.184.166 can't find amaxit.com.cn: Non-existent domain
简单技巧:同时也可使用 nslookup -qt=mx zzy.cn 这样的命令来查询zzy.cn的MX记录