DNS反向解析问题引起邮件被拒绝
DNS 反向解析问题引起邮件被拒绝发布时间:2010-5-10 13:39:34 分类:梭子鱼新闻 已经阅读207次 作者:Lee什么是反向DNS 解析(PTR )?可逆DNS(RDNS)就是反向
DNS 反向解析问题引起邮件被拒绝
发布时间:2010-5-10 13:39:34 分类:梭子鱼新闻 已经阅读207次 作者:Lee
什么是反向DNS 解析(PTR )?
可逆DNS(RDNS)就是反向解析,就是把IP 解析成域名。相对应的,DNS 是正向解析,把域名解析成IP 。可逆DNS(RDNS)的原理和DNS 解析是完全相同的。
DNS 反向解析就是将IP 反向查询为域名,在相关IP 授权DNS 服务器上增加您的IP 地址的PTR 记录。反向解析的意义是这个IP 地址的网络身份是被认可的, 是合法的。
可逆DNS(RDNS)的一个应用是作为垃圾邮件过滤器. 它是这样工作的:垃圾邮件制造者一般会使用与域名不合的无效IP 地址, 即不和域名匹配的IP 地址. 可逆DNS 查找程序把引入信息的IP 地址输入一个DNS 数据库. 如果没有找到和IP 地址匹配的有效域名, 服务器就认为该EMAIL 是垃圾邮件。如AOL (美国在线)要求必须实施IP 反解的邮件服务器才能向AOL/AIM邮箱发送邮件。
何种IP 才能做反向解析?
国内的IP 只有部分才能申请反向解析,这部分IP 为电信运营商认可的固定IP 地址,动态IP 池中的不能申请。 一般反向解析是和IP 地址分配有联系的,所以ISP (接入服务商)直接申请反向解析的授权很难得到。而电信运营商在这方面就具备天然优势,通常这个授权都会直接授予本地的电信运营商,然后再由电信运营商授予各个使用此IP 地址的ISP (当然,这个ISP 至少要完全占有整个C 类地址的使用权,否则不会得到授权),大部分情况,电信运营商自己的DNS 来提供相应IP 地址的反向解析服务。
DNS 反向解析检测和报错信息?
检测方式如下:
C:Documents and Settingsuser>nslookup –qt=ptr 124.205.118.205
Server: mx01.himail.com
Address: 124.205.118.205
说明这个IP 的反解析就是成功了。
返回信息如下
C:Documents and Settingsuser>nslookup –qt=ptr 124.205.118.205
*** Can't find server name for address 211.150.100.33: Non-existent domain
,Server: UnKnown
Address: 124.205.118.205
说明这个IP 的反解析没有作。
报错信息:
例:Apr 19 10:19:09 report qmail: 1145413149.690610 delivery 150: failure:
131.111.8.147_does_not_like_recipient./Remote_host_said:_550-Verification_failed_for_<> /550-It_appears_that_the_DNS_operator_for_AOL.com
/550-has_installed_an_invalid_MX_record_with_an_IP_address
/550-instead_of_a_domain_name_on_the_right_hand_side.
/550_Sender_verify_failed/Giving_up_on_131.111.8.147.
查询邮件发送信息如果看见上面的错误弹回信息,就可以判断对方邮件服务器需要反向解析,由于自身不具备反向解析导致被拒绝
关于反向域名解析(Reverse DNS)
2008年03月13日 星期四 下午 05:18
反向域名解析,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 服务器上的地址域是无关的)
相关需要了解的词汇:
内域信件/域内信件/内部信件: “本地服务器上存在的账户”发送的邮件。
外域信件/域外信件/外部信件: “非本地服务器上存在的账户”发送的邮件。
∙ 接收邮件:
接收邮件包括两层意思:
1) 接收外域发来的邮件。
2) 接收本域用户发送的邮件。
因为使用客户端发送邮件时,邮件是先由客户端发送到服务器端,再由服务器端发送出去,所以相对邮件服务器, 邮件是一个先IN 再OUT 的过程。
∙ 日志:
日志是MDaemon 邮件服务器的重要组成部分,请务必了解以下基本内容。
1) MDaemon 主界面打开后,右面很大面积的一个窗口就是日志显示窗口,下方有日志分类标签,如果有标签无法看到,则需要点击小箭头将无法显示的标签移出。
2) MDaemon 主界面中只保留最近的一些日志,并非显示所有的日志,完∙
,整的日志存放在 MDaemon安装目录下的Logs 子目录中。
3) 日志有多种记录方式,请前往MDaemon 控制台”设置菜单(Setup )”→”日志(Logging )”→ 选择每天新建一套完整的日志。选用此种方式记录日志,更有利于检查问题。
4) 在日志中,从左向右的箭头“→”代表你方服务器发送给对方的信息,从右向左的箭头“←”表示对方发送给你方的信息。
∙ 常用日志文件内容详解:
1)SMTP-(in) / SMTP-(入)日志:
外部邮件服务器发送邮件给我方时,邮件进入时的连接记录;或者Outlook 等邮件客户端发送邮件时的连接记录。
2)SMTP-(out ) / SMTP-(出)日志:
本域邮件发送到外域地址时的连接记录。
3)POP 日志:
本域用户使用Outlook 等邮件客户端接收邮件时的记录。
4) System / 系统 日志:
MDaemon 邮件服务器启动时启用的服务,设置更改后相关服务更新的记录,以及动态屏蔽IP 地址的记录。
5)Routing / 路由 日志:
所有收发的邮件在本地经过处理时的记录,接收的邮件存放到用户目录中的记录,以及外发邮件进入邮件服务器后转移到远程队列的记录。
6)Content Filter / 内容过滤器 日志:
内容过滤器规则处理的记录。
7)AntiSpam / 垃圾邮件过滤器 日志:
启发式评分制垃圾邮件过滤器的处理记录。
8)AntiVirus / 病毒过滤插件 日志:
病毒过滤插件过滤的记录。
∙ 邮件收发日志记录大致流程:
1) 接收外部邮件:
Smtp In(Smtp 接收)→ AntiVirus(反病毒引擎)→ AntiSpam(反垃圾引擎)→
ContentFilter (内容过滤器)→Routing (路由)
2) 收发本域邮件:
Smtp In(Smtp 接收)→ AntiVirus(反病毒引擎)→ AntiSpam(反垃圾引擎)→
ContentFilter (内容过滤器)→Routing (路由)
3) 发送外域邮件:
Smtp In(Smtp 接收)→ AntiVirus(反病毒引擎)→ AntiSpam(反垃圾引擎)→
ContentFilter (内容过滤器)→Routing (路由)→Smtp Out(Smtp 发送)
∙ 队列:
入站队列(Inbound Queue):
进入邮件服务器的队列,包括外域发入的邮件和本域用户使用OutLook
,等客户端工具向外发送的邮件。
本地队列(Local Queue):
本地处理中的队列,包括外域发来的邮件和本域发送的邮件。 远程队列(Remote Queue):
向外发送的队列,为本地用户向外域发送的邮件。
重试队列(Retry Queue):
向外发送暂时失败,等待重试发送的邮件。
坏队列(Bad Queue):
接收到的无此收件人以及本地发送失败超过生命周期的邮件或者匹配内容过滤器中默认安全规则的邮件被投递到坏的队列中,其中多数为垃圾邮件。
保持队列(Holding Queue):
当邮件不能被AntiVirus AntiSpam ContetFilter 进行扫描处理或邮件接收过程中发生意外错误时被投递到Holding 队列中。该队列中的邮件多数为垃圾邮件,但当系统级杀毒软件干涉了MDaemon 的邮件处理进程时,可能造成正常邮件进入该队列。
未处理队列(RAW queue):
翻译问题,应该为“系统自动产生邮件的队列”,系统自动产生的邮件在此处理,如退信、系统提示邮件、系统欢迎邮件等。
检查域名MX PTR(反向解析) 记录的方法:
1) 在Windows 系统中点击”开始”菜单→”运行”→”输入cmd ”(Windows98系统为command ),打开windows 系统的MS-DOS 界面。输入”nslookup ”命令,进入域名解析界面。
2) 输入” set q=mx “回车,进入MX 记录查询状态
输入您公司邮件服务器的主域名,即为用户邮件地址的”@”之后的部分 如:163.com ,China.com 等
本文以China.com 为例返回如下大致信息(蓝色部分为注释) : > china.com ――这是所查询的主域
Server: ns-pd.online.sh.cn--这是当前所使用的DNS 主机名 Address: 202.96.209.133--这是当前所使用DNS 主机地址
Non-authoritative answer:
china.com MX preference = 10, mail exchanger = mta1.china.com china.com MX preference = 10, mail exchanger = mta2.china.com china.com MX preference = 10, mail exchanger = mta3.china.com --这是china.com 的MX 记录指向的3个邮件主机名
mta1.china.com internet address = 211.99.189.179
mta2.china.com internet address = 211.99.189.180
mta3.china.com internet address = 211.99.189.184
--这是china.com 的MX 记录指向的3个邮件主机名对应的IP 地址 china.com nameserver = ns2.china.com
china.com nameserver = ns1.china.com
--这两个是负责解析china.com 的DNS 服务器主机名
,ns1.china.com internet address = 61.151.243.136
ns2.china.com internet address = 202.84.1.101
--这两个是负责解析china.com 的DNS 服务器主机名对应的IP 地址 --有时, 查询MX 纪录的结果中只有MX 对应的主机名, 但没有主机名对应的IP 地址显示(如上海电信DNS 的MX 解析结果), 还需要输入:
> set q=a --进入A 纪录解析模式 再输入主机名解析IP 地址:
> mta1.china.com --输入邮件服务器主机名进行查询
>Non-authoritative answer:
Name: mta1.china.com
Address: 211.99.189.179 --得到IP 地址
3) 规范的MX 记录应当由主域解析出一个主机名(本例中是
mta.china.com ),再由此主机名解析出一个或多个IP 地址(本例中是 211.99.189.179和211.99.189.180),而不能直接由主域解析出一个IP 地址,而且,主域解析出的主机名不应当同主域名相同。
4) 输入” set q=ptr”回车,进入PTR 记录查询状态
> set q=ptr
> 211.99.189.179 ――输入所查询邮件服务器的IP 地址
Server: ns-pd.online.sh.cn ――这是当前用来解析的DNS 服务器主机名
Address: 202.96.209.133 ――这是用来解析的DNS 服务器地址
Non-authoritative answer:
179.189.99.211.in-addr.arpa name = mta.china.com --这是该IP 地址的PTR 记录所指向的主机名
189.99.211.in-addr.arpa nameserver = ns.intercom.com.cn
189.99.211.in-addr.arpa nameserver = ns1.intercom.com.cn
ns.intercom.com.cn internet address = 211.99.207.229
ns1.intercom.com.cn internet address = 211.152.53.3
5) 注意:域名解析修改和添加只是在域名提供商的个别DNS 上修改,其他人所使用的DNS 服务器未必和您申请域名解析的DNS 服务器相同,因此当您的域名添加或者修改后,只有等DNS 服务器之间资料同步后才能看到正确的解析结果。同一个地区的同步可能需要几小时,全国DNS 同步可能需要2天,全球DNS 同步可 能需要4天或者更长时间,因此域名解析更改后无法立刻全球生效。
测试MDaemon 是否可访问的方法:
1) 在Windows 系统中点击”开始”菜单→”运行”→”输入cmd ”(Windows98系统为command ),打开windows 系统的MS-DOS 界面。
2) 输入” telnet IP 25″回车。其中”IP ”是可以连通的,MDaemon 邮件服务器的IP 。
例如:
测试本机命令为:telnet 127.0.0.1 25
,测试局域网是否可以正常连接:telnet 〔内网地址〕 25
测试公网地址是否可以连接:telnet 〔公网地址〕 25
如果能返回MDaemon 的信息,则说明连接正常。
邮件服务器发送邮件的流程:
1) 使用OutLook 或者FoxMail 等客户端发送:
OutLook 客户端计算机通过DNS 服务器解析发送邮件服务器地址 → 连接发送邮件服务器的25端口 → 身份口令验证 → 发送邮件到邮件服务器 → 邮件服务器处理 → 邮件服务器根据收信者主域后缀解析该域MX 记录 → 连接收信者域的邮件服务器
2) 使用Web 客户端发送:
登陆Web 系统,完成身份验证 → 发送邮件到MDaemon 队列中 → 邮件服务器根据收信者后缀解析该域MX 记录 → 连接收信者域的邮件服务器