多出口校园网络环境下邮件系统的部署研究

2014-07-17 10:15邱建波
中国教育信息化·基础教育 2014年4期

摘 要:目前有多出口校园网络环境的高校邮件系统大多也只运行在教育网上,完全依赖教育网接入链路,可用性不高。多出口校园网络环境下邮件系统部署方案结合路由技术、NAT地址翻译技术以及DNS设置和反垃圾邮件处理,在不增加硬件设备的条件下,有效利用学校网络多出口资源,提高了邮件系统的可用性。

关键词:NAT 反向域名解析;反垃圾邮件列表;动态IP地址列表

中图法分类号:TP393.098 文献标志码:A 文章编号:1673-8454(2014)08-0076-02

一、引言

随着网络应用的不断拓展与深入,校园计算机网络的Internet接入的稳定性越发重要,因此目前各高校校园网普遍都采用了在原有CERNET网络接入的基础上增加电信或联通网络接入的多网络出口的接入方式。多出口网络接入的实现方式,大部分是在地址翻译技术NAT的基础上,利用路由器或防火墙的静态路由、策略路由PBR技术或专业的链路负载LB设备来实现的。在这些实现方式中,对邮件服务器的处理几乎都是一样的,都是采用基于源地址的策略路由,让邮件服务器进出的流量都走教育网CERNET。这种实现方式在CERNET接入链路可用的情况下是没有问题的,但是在CERNET链路中断的时候,学校邮件服务器将无法对外通信。虽然电子邮件系统有重传机制,但是如果CERNET接入链路较长时间不能恢复的话,还是会出现发送或接收邮件失败的情况。是否有办法让邮件服务器通过电信或联通(后面简称公网)出口发送和接收邮件呢?经过我们的研究与实践,发现是可行的。

二、收发邮件的基本条件

要实现邮件服务器通过公网出口发送和接收邮件,至少需要解决两个问题:一是能从公网口发送邮件,二是能从公网口接收邮件。

实现从公网口发送邮件,必须使得邮件服务器的数据包能从公网口出去,这需要在公网口针对邮件服务器地址做地址翻译。考虑到后面的接收邮件以及突破反垃圾邮件网关,这里最好选择静态地址翻译即一对一地址映射,将服务器本身的教育网IP在公网口映射成一个固定的公网IP。以笔者所在的陕西师范大学为例,将邮件服务器教育网IP202.117.144.13映射成电信IP61.185.221.185,然后根据一些路由策略,让邮件服务器的某些发送邮件的数据包通过公网口发送。

实现从公网口接收邮件,在前面已经在公网口对邮件服务器IP做了一对一地址映射的情况下,只要通过修改DNS服务器里面的邮件域的MX记录即可。例如:

MX 10 mx202

MX 20 mx61

mx202 A 202.117.144.13

mx61 A 61.185.221.185

mx61的权值是20,比mx202的权值10低,外部邮件服务器在选择收件服务器时会优选权值高的接收邮件服务器mx202,当mx202不可用时选择权值低的接收邮件服务器mx61。这样就可以实现教育网链路不可用时,通过电信网链路接收邮件。

三、防止邮件被拒绝

经过前面的基本配置,正常情况下我们的邮件服务器就可以通过公网出口发送和接收邮件了,但是实际上我们通过公网接口往外发送的邮件很多都会被别的邮件服务器拒绝,因为绝大多数邮件系统都部署了反垃圾邮件网关。在不做任何处理的情况下,我们通过公网出口往外发送的邮件大部分会被反垃圾邮件网关认为是垃圾邮件。目前,反垃圾邮件网关所采用的技术主要包括过滤技术、地址列表技术、认证技术和行为模式识别技术,[1]对于服务器部署来说主要应该关注的是地址列表技术。地址列表技术是指根据发送方IP地址或域名来判断是否接收发送方的电子邮件,目前主要有反向域名解析、反垃圾邮件地址列表、动态IP地址列表等几种方式,我们需要根据这些不同的技术做相应的处理。

1.反向域名解析

反向域名解析就是能根据IP地址解析出域名,一般国外的邮件服务器都会做反向域名解析检查,要求发送方邮件服务器连接的IP地址能反解析出域名,否则会拒收该邮件服务器的所有邮件。[2]国内的一些反垃圾邮件网关,如EQmanager默认也会启用反向DNS检测。因此我们必须给邮件服务器的IP地址配置反向域名解析。教育网的IP做反向解析比较简单,因为我们有自己IP段的反向域名授权,只需在自己的DNS服务器里添加PTR记录就可以。公网IP的反向域名解析相对麻烦,由于我们申请到的公网IP往往只有几十个,只是一个C类地址段中的一小部分,而反向域名解析授权的最小单位是1个C,因此电信公司不可能给我们的DNS服务器进行反向域名解析授权。我们能做的只能是去电信公司为邮件服务器的公网IP申请反向域名解析。由于反向域名解析不是一个大众业务,可能很多电信客户经理都没听说过这个业务,所以在申请过程中可能会遇到一些困难。需要我们非常有耐心地给电信客户经理讲解反向域名解析原理及其重要性,让他了解应该找电信公司内部哪个具体部门办理这样的业务,相信最后是能申请成功的。

2.反垃圾邮件列表

由于垃圾邮件泛滥,世界各地成立了许多组织开展反垃圾邮件的工作。目前几个著名的组织有SPAMHAUS(www.spamhaus.org)、SpamCorp(www.spamcop.net)、MAPS(www.mail-abuse.com)、SORBS(www.sorbs.net)、Barracuda Networks(www.barracudacentral.org)、中国反垃圾邮件联盟(www.anti-spam.org.cn)等,[3]他们都各自维护了一个发送或转发垃圾邮件的邮件服务器IP地址数据库BL(Block List)。反垃圾邮件网关可以有选择的使用一个BL,拒绝列表中的服务器发来的邮件。初次部署邮件服务器时,应该检查我们的邮件服务器IP是否被列入某一个垃圾邮件列表,如果被列入应该申请将服务器IP从该列表删除(delist),待全部删除后再开通该地址的邮件服务。申请将服务器IP从BL中删除,一般有在线申请或发邮件申诉等方式,具体情况可参见各组织的网站说明。

3.动态IP地址列表

计算机的IP地址配置方式有动态分配和静态配置两种,通过Modem、ISDN、ADSL、有线宽带、小区宽带等方式上网的计算机,每次上网所分配到的IP地址都是动态获取的,这就是动态IP地址。[4]按照Internet的惯例,这些动态分配的地址通常只用于为用户提供一个Internet的接入功能,并不作为直接的邮件服务器提供邮件的收发功能。但是随着网络接入成本的降低,越来越多的垃圾邮件发送者采用动态地址拨入的方式来发送垃圾邮件,这种方式既成本低又能较好的避免封杀和追查。[5]所以,通过对邮件来源是否是动态地址的判断,可以有效减少垃圾邮件的数量。SORBS(www.sorbs.net)、中国反垃圾邮件联盟(www.anti-spam.org.cn)等组织都维护着一个动态IP地址列表DUHL(Dynamic User and Host List)。

由于动态IP或静态IP只是计算机配置IP地址的一种方式,并不是IP地址本身的一种属性,因此维护动态IP地址列表DUHL的组织也是用收集各ISP对IP地址段的使用方式来判断IP地址段是否是动态IP的,这种方式有时是不准确的或滞后的。因此,即使我们的邮件服务器的IP是静态配置的,也有可能在某个DUHL中被标记为动态的。以SORBS为例,笔者所在单位的邮件服务器的公网IP就被标为动态IP,查询结果下:

DUHL record for netblock 61.185.160.0/19 (61.185.160.0-61.185.191.255)

Description: Dynamically Allocated IP address or NAT host

Record Created: 22:55:54 24 Nov 2003 GMT+10

Message ID (munged): 2-21396065-61.185.160.0/19@*********************

Additional Information: [Dynablock] Dynamic IP address, use your ISPs mail server

因此我们必须申请将我们的邮件服务器IP从DHUL中删除。但是,SORBS只接收ISP对自己的IP地址段的状态进行申请修改。不过SORBS也给普通用户提供了自助将单个邮件服务器IP从DHUL中删除的方法,即需要对DNS服务器配置做如下修改:①域的MX记录必须包含一个主机名,这个主机名有一条A记录指向这个IP。MX记录的TTL值至少为43200秒;②邮件服务器的A记录的TTL值至少为43200秒;③邮件服务器IP的反向DNS的PTR记录必须指向MX记录里的主机名,而且TTL值也至少为43200秒。满足以上条件以后,就可以在SORBS网站自助将服务器IP从DHUL删除。

处理完前面提到的反向域名解析、反垃圾邮件列表和动态IP地址列表这几个问题以后,配置合适的路由策略,邮件服务器可以通过公网正常地发送和接收邮件了。

四、添加DNS服务器条目

要保证在某个网络出口出现故障时,外部的邮件服务器能解析到学校的MX记录,还必须保证学校的DNS服务器还能继续为校外用户提供服务,因此要求DNS服务器在两个网络均可用。[6] 解决办法是在出口设备上做PNAT(基于端口的地址翻译)。以陕西师范大学为例,将61.185.221.189:53影射到202.117.144.2:53 (dns.snnu.edu.cn),并且在DNS服务器配置文件的NS中添加一条,即

NS dns.snnu.edu.cn.

NS dns1.snnu.edu.cn.

dns A 202.117.144.2

dns1 A 61.185.221.189

另外还需要在CERNET申请变更学校的DNS服务器,增加一个DNS服务器地址。变更后,用URL http://www.nic.edu.cn/cgi-bin/reg/member/lookupns?snnu.edu.cn查询,结果是

Domain Servers in listed order:

dns.snnu.edu.cn 202.117.144.2

dns1.snnu.edu.cn61.185.221.189

五、多网络出口部署邮件系统的优势及应用

1.可以避免因某条网络出口链路故障导致邮件系统不可用

比如教育网出口链路出现故障,配置合适的路由策略,发送邮件时会自动选择公网出口。外部邮件系统发送邮件进来时,也会因为邮件服务器的教育网IP没有响应而会选择其公网IP。反之,公网出口出现故障时,发送和接收邮件也全部通过教育网。

2.可以提升与公网邮件服务器间收发邮件的速度

经过系统改造前后测试对比,可以发现通过公网出口与163.com、sina.com等邮件服务器发送大一些的邮件在速度上会有明显提升。

3.可以在服务器某个IP被放入发垃圾邮件列表时,暂时停用该IP,只通过别的出口链路发送邮件

邮件服务器IP如果不幸被放入垃圾邮件列表,申请删除到最终生效都会有一个过程,至少会有一两天无法发送邮件。我们在多网络出口部署邮件系统后,由于路由策略的设置,很少会出现邮件服务器的教育网IP和公网IP被同时放入反垃圾邮件列表的情况。因此,一旦有IP被列入反垃圾邮件列表,我们可以立即查找发送垃圾邮件的原因并做出处理防止继续发送,然后修改路由策略即停用通过该IP发送邮件,改为全部从别的网络出口发送邮件,再慢慢申请反垃圾邮件列表的删除。这样就可以大大缩短不能往外发送邮件的时间。

经过研究与探索,在只是做一些配置而不需要增加额外硬件的条件下,就可以实现通过多条出口链路收发邮件,大大提高了学校邮件服务器的可用性,在陕西师范大学实施半年多来,效果很好。目前各高校大都具备双出口校园网条件,此方案值得推广。

参考文献:

[1]陈凯.反垃圾邮件网关技术的标准进展[J].电信网技术,2009(11):36-40.

[2]263企业邮箱.可逆DNS反向解析简介[EB/OL]. http://www.263gmail.js.cn/rdns/index.htm.

[3]CCERT.邮件知识[EB/OL].http://www.ccert.edu.cn/spam/knowledge/knowledge.htm.

[4]百度百科.动态IP地址[EB/OL]. http://baike.baidu.com/view/616280.htm.

[5]CASA.中国动态地址列表[EB/OL].http://www.anti-spam.org.cn/AID/8.

[6]邱建波.高校校园网双出口环境下对DNS的智能改进[J].微计算机应用,2008(8).71-74.

(编辑:鲁利瑞)