摘 要:目前有多出口校園網(wǎng)絡(luò)環(huán)境的高校郵件系統(tǒng)大多也只運行在教育網(wǎng)上,完全依賴教育網(wǎng)接入鏈路,可用性不高。多出口校園網(wǎng)絡(luò)環(huán)境下郵件系統(tǒng)部署方案結(jié)合路由技術(shù)、NAT地址翻譯技術(shù)以及DNS設(shè)置和反垃圾郵件處理,在不增加硬件設(shè)備的條件下,有效利用學(xué)校網(wǎng)絡(luò)多出口資源,提高了郵件系統(tǒng)的可用性。
關(guān)鍵詞:NAT 反向域名解析;反垃圾郵件列表;動態(tài)IP地址列表
中圖法分類號:TP393.098 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2014)08-0076-02
一、引言
隨著網(wǎng)絡(luò)應(yīng)用的不斷拓展與深入,校園計算機網(wǎng)絡(luò)的Internet接入的穩(wěn)定性越發(fā)重要,因此目前各高校校園網(wǎng)普遍都采用了在原有CERNET網(wǎng)絡(luò)接入的基礎(chǔ)上增加電信或聯(lián)通網(wǎng)絡(luò)接入的多網(wǎng)絡(luò)出口的接入方式。多出口網(wǎng)絡(luò)接入的實現(xiàn)方式,大部分是在地址翻譯技術(shù)NAT的基礎(chǔ)上,利用路由器或防火墻的靜態(tài)路由、策略路由PBR技術(shù)或?qū)I(yè)的鏈路負(fù)載LB設(shè)備來實現(xiàn)的。在這些實現(xiàn)方式中,對郵件服務(wù)器的處理幾乎都是一樣的,都是采用基于源地址的策略路由,讓郵件服務(wù)器進(jìn)出的流量都走教育網(wǎng)CERNET。這種實現(xiàn)方式在CERNET接入鏈路可用的情況下是沒有問題的,但是在CERNET鏈路中斷的時候,學(xué)校郵件服務(wù)器將無法對外通信。雖然電子郵件系統(tǒng)有重傳機制,但是如果CERNET接入鏈路較長時間不能恢復(fù)的話,還是會出現(xiàn)發(fā)送或接收郵件失敗的情況。是否有辦法讓郵件服務(wù)器通過電信或聯(lián)通(后面簡稱公網(wǎng))出口發(fā)送和接收郵件呢?經(jīng)過我們的研究與實踐,發(fā)現(xiàn)是可行的。
二、收發(fā)郵件的基本條件
要實現(xiàn)郵件服務(wù)器通過公網(wǎng)出口發(fā)送和接收郵件,至少需要解決兩個問題:一是能從公網(wǎng)口發(fā)送郵件,二是能從公網(wǎng)口接收郵件。
實現(xiàn)從公網(wǎng)口發(fā)送郵件,必須使得郵件服務(wù)器的數(shù)據(jù)包能從公網(wǎng)口出去,這需要在公網(wǎng)口針對郵件服務(wù)器地址做地址翻譯??紤]到后面的接收郵件以及突破反垃圾郵件網(wǎng)關(guān),這里最好選擇靜態(tài)地址翻譯即一對一地址映射,將服務(wù)器本身的教育網(wǎng)IP在公網(wǎng)口映射成一個固定的公網(wǎng)IP。以筆者所在的陜西師范大學(xué)為例,將郵件服務(wù)器教育網(wǎng)IP202.117.144.13映射成電信IP61.185.221.185,然后根據(jù)一些路由策略,讓郵件服務(wù)器的某些發(fā)送郵件的數(shù)據(jù)包通過公網(wǎng)口發(fā)送。
實現(xiàn)從公網(wǎng)口接收郵件,在前面已經(jīng)在公網(wǎng)口對郵件服務(wù)器IP做了一對一地址映射的情況下,只要通過修改DNS服務(wù)器里面的郵件域的MX記錄即可。例如:
MX 10 mx202
MX 20 mx61
mx202 A 202.117.144.13
mx61 A 61.185.221.185
mx61的權(quán)值是20,比mx202的權(quán)值10低,外部郵件服務(wù)器在選擇收件服務(wù)器時會優(yōu)選權(quán)值高的接收郵件服務(wù)器mx202,當(dāng)mx202不可用時選擇權(quán)值低的接收郵件服務(wù)器mx61。這樣就可以實現(xiàn)教育網(wǎng)鏈路不可用時,通過電信網(wǎng)鏈路接收郵件。
三、防止郵件被拒絕
經(jīng)過前面的基本配置,正常情況下我們的郵件服務(wù)器就可以通過公網(wǎng)出口發(fā)送和接收郵件了,但是實際上我們通過公網(wǎng)接口往外發(fā)送的郵件很多都會被別的郵件服務(wù)器拒絕,因為絕大多數(shù)郵件系統(tǒng)都部署了反垃圾郵件網(wǎng)關(guān)。在不做任何處理的情況下,我們通過公網(wǎng)出口往外發(fā)送的郵件大部分會被反垃圾郵件網(wǎng)關(guān)認(rèn)為是垃圾郵件。目前,反垃圾郵件網(wǎng)關(guān)所采用的技術(shù)主要包括過濾技術(shù)、地址列表技術(shù)、認(rèn)證技術(shù)和行為模式識別技術(shù),[1]對于服務(wù)器部署來說主要應(yīng)該關(guān)注的是地址列表技術(shù)。地址列表技術(shù)是指根據(jù)發(fā)送方IP地址或域名來判斷是否接收發(fā)送方的電子郵件,目前主要有反向域名解析、反垃圾郵件地址列表、動態(tài)IP地址列表等幾種方式,我們需要根據(jù)這些不同的技術(shù)做相應(yīng)的處理。
1.反向域名解析
反向域名解析就是能根據(jù)IP地址解析出域名,一般國外的郵件服務(wù)器都會做反向域名解析檢查,要求發(fā)送方郵件服務(wù)器連接的IP地址能反解析出域名,否則會拒收該郵件服務(wù)器的所有郵件。[2]國內(nèi)的一些反垃圾郵件網(wǎng)關(guān),如EQmanager默認(rèn)也會啟用反向DNS檢測。因此我們必須給郵件服務(wù)器的IP地址配置反向域名解析。教育網(wǎng)的IP做反向解析比較簡單,因為我們有自己IP段的反向域名授權(quán),只需在自己的DNS服務(wù)器里添加PTR記錄就可以。公網(wǎng)IP的反向域名解析相對麻煩,由于我們申請到的公網(wǎng)IP往往只有幾十個,只是一個C類地址段中的一小部分,而反向域名解析授權(quán)的最小單位是1個C,因此電信公司不可能給我們的DNS服務(wù)器進(jìn)行反向域名解析授權(quán)。我們能做的只能是去電信公司為郵件服務(wù)器的公網(wǎng)IP申請反向域名解析。由于反向域名解析不是一個大眾業(yè)務(wù),可能很多電信客戶經(jīng)理都沒聽說過這個業(yè)務(wù),所以在申請過程中可能會遇到一些困難。需要我們非常有耐心地給電信客戶經(jīng)理講解反向域名解析原理及其重要性,讓他了解應(yīng)該找電信公司內(nèi)部哪個具體部門辦理這樣的業(yè)務(wù),相信最后是能申請成功的。
2.反垃圾郵件列表
由于垃圾郵件泛濫,世界各地成立了許多組織開展反垃圾郵件的工作。目前幾個著名的組織有SPAMHAUS(www.spamhaus.org)、SpamCorp(www.spamcop.net)、MAPS(www.mail-abuse.com)、SORBS(www.sorbs.net)、Barracuda Networks(www.barracudacentral.org)、中國反垃圾郵件聯(lián)盟(www.anti-spam.org.cn)等,[3]他們都各自維護(hù)了一個發(fā)送或轉(zhuǎn)發(fā)垃圾郵件的郵件服務(wù)器IP地址數(shù)據(jù)庫BL(Block List)。反垃圾郵件網(wǎng)關(guān)可以有選擇的使用一個BL,拒絕列表中的服務(wù)器發(fā)來的郵件。初次部署郵件服務(wù)器時,應(yīng)該檢查我們的郵件服務(wù)器IP是否被列入某一個垃圾郵件列表,如果被列入應(yīng)該申請將服務(wù)器IP從該列表刪除(delist),待全部刪除后再開通該地址的郵件服務(wù)。申請將服務(wù)器IP從BL中刪除,一般有在線申請或發(fā)郵件申訴等方式,具體情況可參見各組織的網(wǎng)站說明。
3.動態(tài)IP地址列表
計算機的IP地址配置方式有動態(tài)分配和靜態(tài)配置兩種,通過Modem、ISDN、ADSL、有線寬帶、小區(qū)寬帶等方式上網(wǎng)的計算機,每次上網(wǎng)所分配到的IP地址都是動態(tài)獲取的,這就是動態(tài)IP地址。[4]按照Internet的慣例,這些動態(tài)分配的地址通常只用于為用戶提供一個Internet的接入功能,并不作為直接的郵件服務(wù)器提供郵件的收發(fā)功能。但是隨著網(wǎng)絡(luò)接入成本的降低,越來越多的垃圾郵件發(fā)送者采用動態(tài)地址撥入的方式來發(fā)送垃圾郵件,這種方式既成本低又能較好的避免封殺和追查。[5]所以,通過對郵件來源是否是動態(tài)地址的判斷,可以有效減少垃圾郵件的數(shù)量。SORBS(www.sorbs.net)、中國反垃圾郵件聯(lián)盟(www.anti-spam.org.cn)等組織都維護(hù)著一個動態(tài)IP地址列表DUHL(Dynamic User and Host List)。
由于動態(tài)IP或靜態(tài)IP只是計算機配置IP地址的一種方式,并不是IP地址本身的一種屬性,因此維護(hù)動態(tài)IP地址列表DUHL的組織也是用收集各ISP對IP地址段的使用方式來判斷IP地址段是否是動態(tài)IP的,這種方式有時是不準(zhǔn)確的或滯后的。因此,即使我們的郵件服務(wù)器的IP是靜態(tài)配置的,也有可能在某個DUHL中被標(biāo)記為動態(tài)的。以SORBS為例,筆者所在單位的郵件服務(wù)器的公網(wǎng)IP就被標(biāo)為動態(tài)IP,查詢結(jié)果下:
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
因此我們必須申請將我們的郵件服務(wù)器IP從DHUL中刪除。但是,SORBS只接收ISP對自己的IP地址段的狀態(tài)進(jìn)行申請修改。不過SORBS也給普通用戶提供了自助將單個郵件服務(wù)器IP從DHUL中刪除的方法,即需要對DNS服務(wù)器配置做如下修改:①域的MX記錄必須包含一個主機名,這個主機名有一條A記錄指向這個IP。MX記錄的TTL值至少為43200秒;②郵件服務(wù)器的A記錄的TTL值至少為43200秒;③郵件服務(wù)器IP的反向DNS的PTR記錄必須指向MX記錄里的主機名,而且TTL值也至少為43200秒。滿足以上條件以后,就可以在SORBS網(wǎng)站自助將服務(wù)器IP從DHUL刪除。
處理完前面提到的反向域名解析、反垃圾郵件列表和動態(tài)IP地址列表這幾個問題以后,配置合適的路由策略,郵件服務(wù)器可以通過公網(wǎng)正常地發(fā)送和接收郵件了。
四、添加DNS服務(wù)器條目
要保證在某個網(wǎng)絡(luò)出口出現(xiàn)故障時,外部的郵件服務(wù)器能解析到學(xué)校的MX記錄,還必須保證學(xué)校的DNS服務(wù)器還能繼續(xù)為校外用戶提供服務(wù),因此要求DNS服務(wù)器在兩個網(wǎng)絡(luò)均可用。[6] 解決辦法是在出口設(shè)備上做PNAT(基于端口的地址翻譯)。以陜西師范大學(xué)為例,將61.185.221.189:53影射到202.117.144.2:53 (dns.snnu.edu.cn),并且在DNS服務(wù)器配置文件的NS中添加一條,即
NS dns.snnu.edu.cn.
NS dns1.snnu.edu.cn.
dns A 202.117.144.2
dns1 A 61.185.221.189
另外還需要在CERNET申請變更學(xué)校的DNS服務(wù)器,增加一個DNS服務(wù)器地址。變更后,用URL http://www.nic.edu.cn/cgi-bin/reg/member/lookupns?snnu.edu.cn查詢,結(jié)果是
Domain Servers in listed order:
dns.snnu.edu.cn 202.117.144.2
dns1.snnu.edu.cn61.185.221.189
五、多網(wǎng)絡(luò)出口部署郵件系統(tǒng)的優(yōu)勢及應(yīng)用
1.可以避免因某條網(wǎng)絡(luò)出口鏈路故障導(dǎo)致郵件系統(tǒng)不可用
比如教育網(wǎng)出口鏈路出現(xiàn)故障,配置合適的路由策略,發(fā)送郵件時會自動選擇公網(wǎng)出口。外部郵件系統(tǒng)發(fā)送郵件進(jìn)來時,也會因為郵件服務(wù)器的教育網(wǎng)IP沒有響應(yīng)而會選擇其公網(wǎng)IP。反之,公網(wǎng)出口出現(xiàn)故障時,發(fā)送和接收郵件也全部通過教育網(wǎng)。
2.可以提升與公網(wǎng)郵件服務(wù)器間收發(fā)郵件的速度
經(jīng)過系統(tǒng)改造前后測試對比,可以發(fā)現(xiàn)通過公網(wǎng)出口與163.com、sina.com等郵件服務(wù)器發(fā)送大一些的郵件在速度上會有明顯提升。
3.可以在服務(wù)器某個IP被放入發(fā)垃圾郵件列表時,暫時停用該IP,只通過別的出口鏈路發(fā)送郵件
郵件服務(wù)器IP如果不幸被放入垃圾郵件列表,申請刪除到最終生效都會有一個過程,至少會有一兩天無法發(fā)送郵件。我們在多網(wǎng)絡(luò)出口部署郵件系統(tǒng)后,由于路由策略的設(shè)置,很少會出現(xiàn)郵件服務(wù)器的教育網(wǎng)IP和公網(wǎng)IP被同時放入反垃圾郵件列表的情況。因此,一旦有IP被列入反垃圾郵件列表,我們可以立即查找發(fā)送垃圾郵件的原因并做出處理防止繼續(xù)發(fā)送,然后修改路由策略即停用通過該IP發(fā)送郵件,改為全部從別的網(wǎng)絡(luò)出口發(fā)送郵件,再慢慢申請反垃圾郵件列表的刪除。這樣就可以大大縮短不能往外發(fā)送郵件的時間。
經(jīng)過研究與探索,在只是做一些配置而不需要增加額外硬件的條件下,就可以實現(xiàn)通過多條出口鏈路收發(fā)郵件,大大提高了學(xué)校郵件服務(wù)器的可用性,在陜西師范大學(xué)實施半年多來,效果很好。目前各高校大都具備雙出口校園網(wǎng)條件,此方案值得推廣。
參考文獻(xiàn):
[1]陳凱.反垃圾郵件網(wǎng)關(guān)技術(shù)的標(biāo)準(zhǔn)進(jìn)展[J].電信網(wǎng)技術(shù),2009(11):36-40.
[2]263企業(yè)郵箱.可逆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]百度百科.動態(tài)IP地址[EB/OL]. http://baike.baidu.com/view/616280.htm.
[5]CASA.中國動態(tài)地址列表[EB/OL].http://www.anti-spam.org.cn/AID/8.
[6]邱建波.高校校園網(wǎng)雙出口環(huán)境下對DNS的智能改進(jìn)[J].微計算機應(yīng)用,2008(8).71-74.
(編輯:魯利瑞)