2007年10月27日 星期六

DNS -- MX 功能

# 需要 DNS 的 MX 及 A 標誌啊!
那麼我們的郵件伺服器系統到底是如何使用 DNS 的資訊來進行郵件的傳遞的? 還記得在
DNS 章節裡面談到的 MX 這個標誌嗎?當時我們僅說過這個 MX 代表的是 Mail
eXchanger, 當一封郵件要傳送出去時,郵件主機會先分析那封信的『目標主機的 DNS
』,先取得 MX 標誌, 注意,MX 標誌可能會有多部主機喔!然後以最優先 MX 主機為準
將信發送出去。 看不懂嗎?沒關係,我們以底下這個 DNS 範例來說:

xyz.com.vbird IN MX 10 mail.xyz.com.vbird
xyz.com.vbird IN MX 20 mail2.xyz.com.vbird
xyz.com.vbird IN A aaa.bbb.ccc.ddd

假如上述的 DNS 設定是正常的,那麼:

* 當有一封信要傳給 user@xyz.com.vbird 時,由於 MX 標誌最低者優先,所以該封
信會先傳送到 mail.xyz.com.vbird 那部主機。
* 如果 mail.xyz.com.vbird 由於種種原因,導致無法收下該封信時,該封信將以次
要 MX 主機來傳送,那就是傳送到 mail2.xyz.com.vbird 那部主機上頭;
* 如果兩部 MX 主機都無法負責的話,那麼該封信會直接以 A 的標誌,亦即直接傳
送到 aaa.bbb.ccc.ddd 那個 IP 上頭去, 也就是 xyz.com.vbird 本身啦!

在這個過程當中,你必需要注意到:mail.xyz.com.vbird 及 mail2.xyz.com.vbird 必需
要是可以幫 xyz.com.vbird 轉信的主機才行,也就是說,那兩部主機通常是你公司的最
上游的郵件主機, 並不是你隨意填寫的!那兩部主機還需要針對你的 xyz.com.vbird 來
設定『郵件轉遞』才行! 否則你的信會被踢掉的。

由於現在的很多郵件主機會去搜尋 MX 這個標誌來判斷目標郵件主機是否為合法,所以你
要架設 Mail server 雖然不必自行設定 DNS 伺服器,不過你最好要申請一個 MX 的標誌
才行。此外,MX 標誌一定要設定正確,否則你的信件將可能會直接被 MX 主機踢掉。為
了要設定 MX 但是我們沒有上層郵件伺服器時,所以你可以指定 MX 為自己,利用自己當
MX 主機即可。

那麼你或許會想,這個 MX 有啥好處啊?一般來說,如果目標主機掛點時,你的郵件通常
會直接退還給原發信者, 但如果有 MX 主機時,這部 MX 主機會先將該封信放在他的佇
列 (queue) 當中,等到你的目標主機重新提供郵件服務後, MX 主機會將你的信件傳送
給目標主機,如此一來你的信件就比較不會遺失啊!這樣說,您可以瞭解吧! ^_^

沒有留言: