這一節學習了postfix的基本配置和郵件基本工作流程。
postfix的内容很多,但是rhce7裡面僅要求學生能夠實作空用戶端的配置。簡單的說,就是配置一個郵件的主伺服器,然後配置另外一台伺服器上,使得該不接受外網的郵件,僅轉發本地使用者的郵件到主伺服器上。
postfix 在rhel7裡面已經預設安裝了,為了避免和sendmail服務沖突,建議直接禁止運作sendmail
systemctl mask sendmalil.service
postfix的主要配置檔案是/etc/postfix/main.cf, 其餘的保持預設即可。
配置過程如下:
首先配置一個dns服務,指定mx記錄, mail.beanxyz.com (主伺服器)和 server1.beanxyz.com (空用戶端)
dig 看看是否正常解析
接下來配置主伺服器,打開 main.cf, 修改下列參數
主機名
域名
這個是發件人@後面的位址
接收所有接口上25端口的smtp請求
這個是收件人@後面的位址
限制接收的網絡範圍
修改完了之後,檢查文法,打開selinux的布爾值,重新開機服務
看看防火牆的smtp和dns端口是否打開,沒打開要打開
用戶端測試一下,裝個nmap,掃描一下看看mail.beanxyz.com上打開了哪些端口
回到mail 伺服器,發個郵件試試看,注意這裡我的beanxyz沒有指定destination,會用預設的beanxyz.com
在mail.beanxyz.com上面,切換到beanxyz使用者,已經收到了
打開看看,發信人,收件人,主題,内容都沒錯
給root使用者回複一個
沒問題
這樣子我們的主郵件服務已經工作了。從同一網段的其他機器發送郵件,隻要指定了是發送到beanxyz.com的,都會通過dns的解析然後發送到mail伺服器。
接下來看看空用戶端的配置
配置檔案如下
注意接口變成 loopback-only了,這樣不會接受外網的郵件
目的位址設定為空
所有的郵件都轉發給relayhost的位址
檢查文法 重新開機
發個郵件給 beanxyz 使用者試試看,豆子一不留神發了2次
server1 本機上也有使用者叫做beanxyz,但是打開看看沒有郵件
切換到mail 伺服器,成功收到
如果我胡亂發個不存在的使用者如何? 試試看
檢視一下日志 , 直接拒絕,因為該使用者不存在~
最後官網有個連結給了常見各種基本配置,感興趣可以看看。
<a href="http://www.postfix.org/standard_configuration_readme.html" target="_blank">http://www.postfix.org/standard_configuration_readme.html</a>