2008年7月31日

遭遇反向域名解析

今天下午,因为一个访问限制,需要查看我现在所在的新办公楼机器的对外IP。采用常见的www.ip138.com, ipseeker.cn, ip.wisa.com.cn等网站显示的IP就是不对。后来折腾出Tracert工具得到的诸多ip网址都不正确。最终头大之时找到了我们组的高人Upali。

        话说Upali大哥先像我似的找了几个显示ip的英文网站,查到的ip和我查到的一样。我说这个不对,访问不了的。后来Upali大哥在firefox里敲入了http://www.grc.com,然后选择了倒数第二个链接ShieldsUP!。随后出现的网页https://www.grc.com/x/ne.dll?bh0bkyd2第二个方框下面出现了一个和我查到的ip地址很接近的ip地址。这两个地址只是最后一个数字不一样。经实验后发现新查到的这个ip地址是正确的。

         当时非常惊讶会有这种情况,详细请教了Upali大哥以及上网查了一下后,知道自己遭遇了反向域名解析的限制。原来我所在的新办公楼网络采用了这种技术来更好的避免垃圾邮件。搬家前的办公楼没有采用这种技术。以后如果在别的地方再遇到问题,就可以想想是不是反向域名在作怪咯 :)

 

转载一篇介绍反向域名的文章如下,以备学习:

----------------------------------------------------------------------------

link:http://www.ntty.net/blogview.asp?logID=864

反向域名解析,Reverse DNS。反向域名解析与通常的正向域名解析相反,提供IP地址到域名的对应。IP反向解析主要应用到邮件服务器中来阻拦垃圾邮件,特别是在国外。多数垃圾邮件发送者使用动态分配或者没有注册域名的IP地址来发送垃圾邮件,以逃避追踪,使用了域名反向解析后,就可以大大降低垃圾邮件的数量。关于反向解析如何被应用到邮件服务器中来阻拦垃圾邮件的。

    由于在域名系统中,一个IP地址可以对应多个域名,因此从IP出发去找域名,理论上应该遍历整个域名树,但这在Internet上是不现实的。为了完成逆向域名解析,系统提供一个特别域,该特别域称为逆向解析域in-addr.arpa。这样欲解析的IP地址就会被表达成一种像域名一样的可显示串形式,后缀以逆向解析域域名"in-addr.arpa"结尾。例如一个IP地址:218.30.103.170,其逆向域名表达方式为:170.103.30.218.in-addr.arpa。两种表达方式中IP地址部分顺序恰好相反,因为域名结构是自底向上(从子域到域),而IP地址结构是自顶向下(从网络到主机)的。实质上逆向域名解析是将IP地址表达成一个域名,以地址做为索引的域名空间,这样逆向解析的很大部分可以纳入正向解析中。

查看反向解析信息:

    命令行输入nslookup -qt=ptr yourIP,从返回的信息中您可以看到反向解析的结果,或者在这个网站查询。

如何做反向解析:

    首先要有固定公网IP地址、可用域名,例如您有needidc.com的域名,您可以要求您的域名注册商为您添加一个mail.needidc.com的域名并将其A记录指向您的SMTP服务器出口公网IP地址,如:122.200.66.43,接着请与您的固定IP所属ISP联系要求为您的IP反向解析至mail.lunch-time.com(可能要收费)。完成后别忘了将您的SMTP服务器的HELO域名改为mail.needidc.com,这样才可以达到目的。

另外:
    1、目前很多网络服务提供商要求访问的IP地址具有反向域名解析的结果,否则不提供Mail服务。
    2、一定要有固定公网IP地址以及真实可用域名。同时要注意反向解析的域名的A记录一定要指向该IP!
    3、对于有多个固定公网IP地址的,只要做主要出口IP的反向解析即可,不管您有多少SMTP服务器,只要是通过该IP连接至外网就将这些SMTP服务器的HELO域名改成IP反向解析之域名即可。

    在垃圾邮件泛滥的今天,垃圾邮件给我们的生活、工作、学习带来了极大的危害。由于SMTP服务器之间缺乏有效的发送认证机制,即使采用了垃圾邮件识别阻拦技术效果仍旧一般,再者垃圾邮件识别阻拦技术主要是在收到信件后根据一定条件进行识别的,需要耗费大量服务器资源,如果能在信件到达服务器之前就采取一定手段,这样就能大大提高服务器效率了。因此,目前许多邮件服务器如sina.com,hotmail.com,yahoo.com.cn等等都采用了垃圾邮件识别阻拦技术+IP反向解析验证技术以更好的阻拦垃圾邮件。

    我们先来了解一下什么是IP反向解析。其实作过DNS服务器的朋友一定会知道DNS服务器里有两个区域,即“正向查找区域”和“反向查找区域”,反向查找区域即是这里所说的IP反向解析,它的作用就是通过查询IP地址的PTR记录来得到该IP地址指向的域名,当然,要成功得到域名就必需要有该IP地址的PTR记录。

    那么IP反向解析是怎么被应用到邮件服务器中来阻拦垃圾邮件的呢?我们来看看下面一个例子:

    某天,阿Q到A公司拜访,他递上一张名片,名片上写着他来自“黑道杀人俱乐部”以及电话号码等信息,A公司觉得应该对阿Q的来历做个简单调查,于是打电话到阿Q名片上的电话号码所属电信局进行查实,如果电信局告诉A公司其电话号码不属于“黑道杀人俱乐部”,则A公司将拒绝阿Q的拜访,如果其电话号码的确属于“黑道杀人俱乐部”,A公司可能接受阿Q的拜访也可能进一步查实,于是就打电话到“黑道杀人俱乐部”所属注册机构查询,如果得到的答复确认该俱乐部确有此电话号码,则A公司将接受阿Q的拜访,否则仍将拒绝阿Q的拜访。

    这个例子中,阿Q好比是我们的邮件服务器,A公司是对方邮件服务器,“黑道杀人俱乐部”就是我们邮件服务器与对方邮件服务器通信时所使用的HELO域名(不是邮件地址@后的域名),名片上的电话号码就是我们邮件服务器出口的公网IP地址。A公司对阿Q进行调查的过程就相当于一个反向解析验证过程。由此看出,反向解析验证其实是对方服务器在进行的,如果我们没有做反向解析,那么对方服务器的反向解析验证就会失败,这样对方服务器就会以我们是不明发送方而拒收我们发往的邮件,这也就是我们排除其它原因后(如被对方列入黑名单、没有MX记录、使用的是动态IP地址等等)在没做反向解析时无法向sina.com、homail.com发信的原因。

    那么我们应当如何顺利做好反向解析?首先要有固定公网IP地址、可用域名(最好不要被其它服务所用),例如您有lunch-time.com的域名,您可以要求您的域名注册商为您添加一个okmail.lunch-time.com的域名并将其A记录指向您的SMTP服务器出口公网IP地址,如:220.112.20.18,接着请与您的固定IP所属ISP联系要求为您的IP反向解析至okmail.lunch-time.com。完成后别忘了将您的SMTP服务器的HELO域名改为okmail.lunch-time.com,这样才可以达到目的。

另:

   1、做好反向解析后发往sina.com的信件有可能会被转至“不明邮件夹”中,此时请您与sina.com联系,要求为您解决该问题。

   2、查看反向解析是否成功,可用如下命令:nslookup –qt=ptr yourIP,从返回的信息中您可以看到反向解析的结果。

   3、一定要有固定公网IP地址以及真实可用域名。同时要注意反向解析的域名的A记录一定要指向该IP!

   4、对于有多个固定公网IP地址的,只要做主要出口IP的反向解析即可,不管您有多少SMTP服务器,只要是通过该IP连接至外网就将这些SMTP服务器的HELO域名改成IP反向解析之域名即可。(和这些SMTP服务器上的地址域是无关的)

没有评论: