天天看點

[RHEL5企業級Linux服務攻略]--第5季 Sendmail服務全攻略之正常配置

1.Sendmail服務軟體包

sendmail-8.13.8-2.el5.i386.rpm:sendmail服務的主程式包,伺服器端必須安裝該軟體包。 

sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏檔案包 

sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail伺服器開發工具軟體包 

sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail伺服器的說明文檔 

m4-1.4.5-3.el5.1.i386.rpm:宏處理過慮軟體包 

dovecot-1.0-1.2.rc15.el5.i386.rpm:接收郵件軟體包,安裝時需要注意安裝順序

2.Sendmail相關配置文檔

sendmail.cf:sendmail核心配置檔案,位于/etc/mail/sendmail/sendmail.cf

sendmail.mc:sendmail提供sendmail檔案模闆,通過編輯此檔案後再使用m4工具将結果導入sendmail.cf完成配置sendmail核心配置檔案,降低配置複雜度,位于/etc/mail/sendmail.mc

local-host-name:定義收發郵件伺服器的域名和主機名稱,位于/etc/mail/local-host-name

access.db:用來設定sendmail伺服器為哪些主機進行轉發郵件,位于/etc/mail/access.db

aliases.db:用來定義郵箱别名,位于/etc/mail/aliases.db

virtusertable.db:用來設定虛拟賬戶,位于/etc/mail/virtusertable.db

3.郵件功能元件

MUA:郵件使用者代理(Mail User Agent)

MTA:郵件傳輸代理(Mail Transfer Agent)

MDA:郵件遞送代理(Mail Delivery Agent)

4.Sendmail正常伺服器配置

搭建Sendmail伺服器流程:

(1)配置sendmail.mc檔案

(2)使用m4工具将sendmail.mc檔案導入sendmail.cf檔案

(3)配置local-host-names檔案

(4)建立使用者帳号

(5)重新啟動服務使配置生效

Sendmail應用案例1:

區域網路網段:192.168.8.0/24

企業域名:redking.com

DNS及Sendmail伺服器位址:192.168.8.1

(1)配置DNS主配置檔案named.conf

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981119yP7l.png"></a>

(2)配置redking.com區域檔案

使用MX記錄設定郵件伺服器,這條記錄一定要有,否則Sendmail無法正常工作。

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981130x3ih.png"></a>

(3)配置redking.com反向區域檔案

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981137h8V8.png"></a>

(4)修改DNS域名解析的配置檔案

vim /etc/resolv.conf

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981143inh4.png"></a>

(5)重新開機named服務使配置生效

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981149wvhZ.png"></a>

(6)安裝Sendmail軟體包

RHEL5預設安裝sendmail-8.13.8-2.el5及m4-1.4.5-3.el5.1軟體包,我們隻需要安裝sendmail-cf-8.13.8-2.el5宏檔案包就可以了。

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981152nRqG.png"></a>

(7)編輯sendmail.mc修改SMTP偵聽網段範圍

配置郵件伺服器需要更改IP位址為公司内部網段或者0.0.0.0,這樣可以擴大偵聽範圍(通常都設定成0.0.0.0),否則郵件伺服器無法正常發送郵件。

vim /etc/mail/sendmail.mc

第116行将smtp偵聽範圍從127.0.0.1改為0.0.0.0

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981168r2yE.png"></a>

第155行修改成自己域:LOCAL_DOMAIN(`redking.com')dnl

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981191maZo.png"></a>

使用m4指令生成sendmail.cf檔案,其實sendmail.mc即是一個模闆檔案哈~

m4 /etc/mail/sendmail.mc &gt; /etc/mail/sendmail.cf

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_12359811980n4t.png"></a>

(8)修改local-host-names檔案添加域名及主機名

vim /etc/mail/local-host-names

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981199iCSX.png"></a>

 (9)安裝Dovecot軟體包(POP3和IMAP)

到這裡sendmail伺服器基本配置完成後,Mail Server就可以完成郵件發送工作,如果需要使用POP3和IMAP協定接收郵件還需要安裝dovecot軟體包。在rhel5裡dovecot整合了IMAP。

安裝dovecot軟體包要解決其依賴性,安裝per-DBI-1.52-1.fc6.i386.rpm和mysql-5.0.22-2.1.0.1.i386.rpm

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981222imQF.png"></a>

(10)啟動Sendmail服務

service sendmail restart和service dovecot restart指令啟動sendmail和dovecot服務,如果每次開機啟動,可以使用chkconfig指令修改。

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981224ax5I.png"></a>

(11)測試端口

使用netstat指令測試是否開啟SMTP的25端口、POP3的110端口及IMAP的143端口。

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981227cumW.png"></a>

也可以使用netstat -ntla

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_12359812378jMJ.png"></a>

(12)驗證Sendmail的SMTP認證功能

telnet localhost 25 後輸入ehlo localhost驗證Sendmail的SMTP認證功能

telnet localhost 110

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981256PFf6.png"></a>

telnet mail.redking.com 25

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981271qIwi.png"></a>

telnet mail.redking.com 110

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_123598127757az.png"></a>

(13)建立使用者

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981280eE5Z.png"></a>

(14)用戶端測試

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981289VaaQ.png"></a>

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981297HeJp.png"></a>

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981340wMLA.png"></a>

Sendmail應用案例2:

公司采用兩個網段和兩個域來分别管理内部員工

team1.redking.com域采用192.168.10.0/24網段

team2.redking.com域采用192.168.20.0/24網段

DNS及Sendmail伺服器位址:192.168.8.1

要求:

(1)員工可以自由收發内部郵件并且能夠通過郵件伺服器往外網發信。

(2)設定兩個郵件群組team1和team2,確定發送給team1的郵件“team1.redking.com”域成員都可以收到,同理哈,發送給team2的郵件“team2.redking.com”域成員都可以收到。

(3)禁止待客室的主機192.168.10.88使用Sendmail伺服器。

需求分析:

要求(1)中設定員工自由收發内部郵件可以參考Sendmail應用案例1去設定哈,如果需要郵件伺服器把郵件發到外網需要設定access檔案。

要求(2)需要别名設定來實作群發功能。

要求(3)需要在access檔案中拒絕(REJECT)192.168.10.88

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981357aUpl.png"></a>

因實驗原因:由senmail郵件伺服器代替路由器功能哈~

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981371UmVY.png"></a>

配置實戰:

(1)配置DNS服務

配置DNS主配置檔案named.conf

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981390w24B.png"></a>

配置redking.com.zone區域檔案

配置8.168.192.in-addr.arpa.zone反向區域檔案

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981414RKk1.png"></a>

配置team1.redking.com.zone區域檔案

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981424Pi4l.png"></a>

配置10.168.192.in-addr.arpa.zone反向區域檔案

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981428mxzd.png"></a>

配置team2.redking.com.zone區域檔案

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_12359814314cBN.png"></a>

配置20.168.192.in-addr.arpa.zone反向區域檔案

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981508MFIF.png"></a>

(2)修改DNS域名解析的配置檔案

(3)重新開機named服務使配置生效

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981534GUZX.png"></a>

(4)安裝Sendmail軟體包

(5)編輯sendmail.mc修改SMTP偵聽網段範圍

(6)修改local-host-names檔案添加域名及主機名

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981545lfJn.png"></a>

(7)群發郵件設定

vim /etc/aliases

aliases檔案文法格式:

真實使用者帳号:别名1,别名2

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981557uCFD.png"></a>

使用newaliases指令生成aliases.db資料庫檔案

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981578ueqX.png"></a>

(8)配置通路控制的access檔案

在RHEL5中,預設Sendmail伺服器所在的主機的使用者可以任意發送郵件,而不需要任何身份驗證,即注意/etc/mail/access檔案中有一行Connect: 127.0.0.1 RELAY

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981579hc3x.png"></a>

生成access資料庫檔案

makemap hash access.db &gt; access 

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_123598158809z1.png"></a>

(9)安裝Dovecot軟體包(POP3和IMAP)

使用netstat -ntla指令測試是否開啟SMTP的25端口、POP3的110端口及IMAP的143端口。

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981601NBHo.png"></a>

(12)建立使用者

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981619YNWa.png"></a>

(13)用戶端測試

192.168.8.0/24網段測試

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981641Dhiw.png"></a>

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235981675UOQs.png"></a>

群發測試

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982351ULYc.png"></a>

 192.168.10.0/24網段測試

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982398X2ZO.png"></a>

在伺服器端可以看到team1組成員郵箱已經收到192.168.8.0/24網段中michael使用者發的郵件。下面我們在192.168.10.0/24網段接收測試下~~~ 

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982434y0pc.png"></a>

正常接收群發郵件

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982468M4sc.png"></a>

下面由team1.redking.com區域向team2.redking.com使用者成員群發郵件~~~

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982486QCMR.png"></a>

成功發送~~

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982502NlJK.png"></a>

下面team2成員使用者應該收到兩個封郵件

 192.168.20.0/24網段測試

伺服器端狀态:

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982514V0By.png"></a>

用戶端狀态:

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982530mA4I.png"></a>

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982542bIVO.png"></a>

待客室主機192.168.10.88測試

最後我們測試禁止待客室的主機192.168.10.88使用Sendmail伺服器

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982557vwfh.png"></a>

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982587sVi1.png"></a>

192.168.10.88主機不能使用Sendmail郵件功能

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982597GVyO.png"></a>

将受限的IP位址192.168.10.88換成其他不受限制的IP位址就可以将這原本不能發送的郵件發送出去了~~~

<a href="http://redking.blog.51cto.com/attachment/200903/2/27212_1235982600pedR.png"></a>

##########################華麗分割線############################

本季講解了[RHEL5企業級Linux服務攻略]--第5季 Sendmail服務全攻略之正常配置,下季更新[RHEL5企業級Linux服務攻略]--第5季 Sendmail服務全攻略之進階配置哈,敬請期待哈~~~0(^-^)0

本文轉自redking51CTO部落格,原文連結:http://blog.51cto.com/redking/134173,如需轉載請自行聯系原作者

上一篇: VS Tools

繼續閱讀