Postfix 指定 domain 寄送到指定的 Host

今天公司又有一個新的狀況,公司內部的其中一個網域信件無法透過 MailGateway 寄到公司內部進來,雖然這個 domain 也是透過 Exch 收發,而這個 Domain 是實際上在 Internet 有人註冊使用,想當然而信件就會被丟到對方。

要解決這個問題必須要從 Postfix 著手,先到 Postfix 的 transport 檔案增加資料:

vi /etc/postfix/transport

新增敘述::

NewDomain.tld      smtp:[xxx.xxx.xxx.xxx]port

 

加入一筆紀錄指定哪個 domain 哪個 Ip 去, 如果 Port no.不是走標準的還可以指定

 

接下來要去編譯一下 transport 這個檔案讓 Postfix 方便讀進來

 

postmap hash:/etc/postfix/transport

 

最後記得重新啟動一下服務

 

service MailScanner restart

 

記得去觀察測試一下是否成功喔…

參考資料: http://www.linuxquestions.org/questions/linux-software-2/postfix-single-domain-with-multipe-relay-host-443338/

Mailgateway 遇到 Savemail panic 及 Loops back to myself

Linux 架設的MailGateway 通常來說不太需要介入管理,但是今日發生了信件無法傳入的問題,去檢查 varlogmaillog 這個檔案發現有兩種異常的紀錄。

 

  • Savemail Panic, 這個問題是 SendMail 在無法寄送信件時會把信件寄給 root 這個帳號,但是存放這個帳號的檔案不見了 (還不知是啥原因),解決方式用手動建立這個檔案就好。

cd /var/mail

mkdir root

vi root    (:wq存檔, 開一個空檔案)

chmod 660 root

chown root:mail root

閱讀全文 Mailgateway 遇到 Savemail panic 及 Loops back to myself

開啟 Mailgateway Archive Mail 機制

上週聽到有同事說要花一筆經費來採購郵件備分軟體, 就不禁聯想原本的 Mailgateway 本來就是一個 Mail Server, 那有沒有機會拿來當作郵件備份的機制呢? 上網爬文了一下, 發覺 MailScanner 有 Archvie Mail 的選項, 可以把收到的 Mail 轉寄到指定的帳號去.

其中有兩個方式: 方法(1), 轉寄到另外一台 Mail Server 去, 對我而言還需要另外建立, 有點花費功夫, 後續也需要花時間去管理及維護,方法(2), 轉寄到本機的另外一位使用者.

以上的方式都會把郵件儲存在主機上, 但是我的 MailGateway 主機是架設在 VM 上,如果讓這個檔案持續長大的話, 很容易把硬碟空間吃光光, 最好的方式就是把郵件收下來放置到其他主機去。

閱讀全文 開啟 Mailgateway Archive Mail 機制

Mailgateway 日常維護

請利用Putty或類似程式(SSH Client)連線到Mailgateway後, 輸入裝機時的帳號及密碼, 登入完成後輸入 su – (superuser) 切換到 root 這個帳號, 系統才會允許你做一些修改的動作

1. 觀察 Mail Log

指令:  tail –f /var/log/maillog

說明:  可以持續的看到 maillog 處理信件的紀錄,主要應用在日常檢核上,隨機檢查一下系統目前的狀況。

Contant of Maillog
Contant of Maillog

閱讀全文 Mailgateway 日常維護

變更 MailGateway 防毒軟體

經過實際上線後, 發覺 ClamAV Scan 的效能太慢, 導致帶有附件的信件會延遲兩小時左右才會寄到, 同時系統會佔用大量的 CPU 及 RAM, 造成惡性循環, 經過 By pass 防毒軟體測試, 送達速度可以大幅提升, 確認為防毒軟體 Scan 速度太慢導致塞車.

當然又透過 Google 搜尋一下找到 F-Prot 也有 Linux Workstation 的版本, MailScanner 也直接支援, 所要做的只是下載裝起來然後變更設定.

Step1 Download antivirus package

指令: #Wget files.f-prot.com/files/unix-trial/fp-Linux-i686-ws.tar.gz

說明:到該路徑去下載安裝套件

閱讀全文 變更 MailGateway 防毒軟體

安裝 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