安裝 Mail Gateway in Fedora Core 9

Mail Gateway Server 是做為原有 Mail Server 之過濾器(filter), 架設在 Mail Server 之前端可過濾病毒郵件及廣告信後, 再把信件pass到原有的 Mail Server 上, 原有的Mail Server 也可以指定發送信件可以透過 Mail gateway 掃毒後再寄出,以最小的更動幅度來替 Mail Server 加上過濾的功能.

安裝 Mail Gateway Server 需配合 DNS Server 的設定, 將 MX 記錄的第一個順位指向 Mail Gateway, 再把 MX 記錄的第二順位指向原 Mail Server, 這樣就可以有容錯的功能, 如果 Mail Gateway損壞時, 郵件還是會傳送到原有的郵件伺服器而不會遺失。

首先安裝 Fedora Core 9, 去除 X-Windows 的部分, 增加原始碼與開發的套件, 於安裝時先設定網卡 IP 等.. (忘記設定或是要更動, 利用 system-config-network 指令). 安裝完成後還是打 yum –y update 把系統更新一下.

完成後還是來安裝一下 webmin 這個套件, 方便未來在管理上面可以直接使用圖形介面來設定, http://www.webmin.com/ 下載 rpm 安裝檔案, 利用 rpm –ivh webmin-xxxxxxx.rpm 來安裝, 之後使用 http://mailgateway:10000 登入管理

大部分的Linux Base Mail Server 都為採用 clamav 作為掃毒軟體, 所以本次我也找了一個 avg anti-virus for Linux 來做為 clamav 的輔助.

其安裝步驟請參考 http://cha.homeip.net/blog/archives/2007/11/_mail_gateway.html. 依照 Jamyy 大大的說明可以很容易的完成, 其中有些步驟因為安裝套件的不同, 會有要補強的動作, 這時就要用yum 來做安裝其他的套件.

由於在安裝 Fedora Core 9 時就選擇安裝 Postfix, 所以只要變更設定檔案即可, 只是在 relay_domain 多增加一個允許 relay 到 Gmail 去, 方便安裝完成後的測試.

首先先來安裝 avg 的掃毒軟體, http://www.brothersoft.com/avg-free-linux-download-47492.html 來下載 avg 的rpm安裝檔案, 利用 rpm –ivh avg75flr-xxxxx.rpm 來安裝, 完成之後馬上利用 avgupdate –o 來下載最新的病毒碼, 也可以利用 agvscan / 來做全系統掃毒.

安裝 Clamav 就比較奇怪, 到 http://rpmfind.net/ 去找已經做成 clamav 的 rpm 安裝套件, 下載回來安裝後, 居然沒有附上自動更新病毒碼的程式 (freshclam) 只好移除掉 (rpm –e 套件名稱), 利用 Jamyy 大大的說明文件, 乖乖的上 www.clamav.org 下載安裝檔案, 解開會重新 Compile.

安裝 MailScanner 就比較麻煩了, 安裝時間比較久也發生了數個Perl 的套件沒有安裝到, 所以利用的 yum install perl-xxxxx 等方式把有問題的套件補安裝起來, xxxx 是在做 MailScanner ./install 會出現的錯誤訊息, 重新補上後再執行 ./install 就可以正常的處理完成.

由於我採用了兩個不同的防毒軟體, 所以在 MailScanner 的設定上要修正成
Virus Scanners = avg, clamav
才能讓 MailScanner 去啟動兩個防毒軟體.

同時想要再 Mail gateway 上面就直接作所有來往信件的’備份’, 先利用 webmin 建立一個新的使用者出來 (backup), 然後到到 Postfix 的 main.cf 設定檔案加上 always_bcc = backup 就可以把所有過往的信件都’保留’一封到 backup 這個使用者上面去, 降低 Mail Server 的負擔.

接下來利用 tail –f /var/log/maillog 的指令來觀察 mail 信件的來往情況, 同時也再發現有個 Spamassassin 使用到的 perl-sqllite 套件沒有安裝好, 這邊需要再補安裝一下, 接下來到 Outlook express 設定帳號, 並把smtp server 指定到 Mail gateway 上面, 發一封測試信件到自己的 gmail 信箱測試設定, 其過程都會在 maillog 這個檔案有記錄.

驗證是否有寄一份到 backup 這個使用者, 可以利用 Webmin -> Server -> Postfix Mail server -> User Mailboxes -> backup 去看看剛剛的信件是否已經乖乖的躺在信件夾內

參考資料: http://freebsd.ntut.idv.tw/document/mail_gateway_postfix_clamav_amavisd-new.html

發表迴響