LINUX SENDMAIL服務器的搭建 (一)


對於linux本人估計連新手都不算,就當初聽過簡單的東西,自己平常也不用,最近想要學點東西,就是關於sendmail服務器搭建,由於對這裏不熟悉,也只能是通過查資料,


所以此篇文章只針對和我一樣的小小菜鳥作爲入門,也希望看到此文的大牛進行提攜、同是菜鳥的朋友共同探討。。。



要搞郵件之前得大概知道一個入門的東西,可能這個東西對真正的搭建起不了太大的作用,但是也算是一個基礎知識吧。SMTP協議即簡單郵件傳輸協議,在整個電子郵件系統中,大概有兩處用到SMTP。

一:發送郵件的MUA與MTA建立連接併發送郵件。

二:MTA之間也是用SMTP進行電子郵件的轉發。

MUA:MAIL USER AGENT ,電子郵件系統的構成之一,即接受用戶輸入的各種指令,將用戶的郵件發送至MTA或者通過POP3、IMAP協議將郵件從MTA取到本機,常見額MUA有FOXMAIL,OUTLOOK等。郵件客戶端程序。

MTA:MAIL TRANSFER AGENT,即用於收發郵件的程序,一般稱爲郵件代理。

MUA與MTA的關係:郵件服務器—MTA—MUA—MTA—郵件服務器

SMTP的通信過程如下:

(1)客戶端通過3次握手與服務器(通常是TCP25端口)建立一個TCP連接,然後等待服務器發送220READY FOR MAIL。

(2)客戶端在收到220保溫後,發送HELO命令。

(3)服務器以250please to meet you 響應,表示一切正常。

(4)客戶端以MAIL命令開始電子郵件的交互,在MAIL命令中,有一個“From:”字段,用於在出錯時通知發件人。

(5)服務器收到MAIL命令後,發送250OK作爲響應,表示一切正常。

(6)MAIL命令成功後,客戶端就可以講收信人的地址告訴服務器,這是用一連串的RCPT命令實現的。

(7)服務器接收到每個RCPT命令後,發送250OK作爲響應,表示正確接收,或者發送550 No such user here 作爲響應,表示沒有這個用戶。

(8)客戶端的RCPT命令得到正確響應猴,就可以用DATA命令發送數據。

(9)服務器接收到DATA命令後,發送354 start mail input:end with "." on a line by itself。

(10)客戶端此時可以輸入信件的內容,並以單行的句號作爲結束。

(11)服務器發送250OK表示信息發送成功。

(12)客戶端請求斷開連接。

(13)服務器斷開連接。


上面簡單的介紹了一下這些東西,下面開始sendmail服務器的搭建。

(一)DNS的配置

1)首先確定 sendmail、bind、nameserver、dovecot包是否安裝好。

2)把虛擬機當做mail server,本機當做client,確定mail server和clinet是否處於同一網段,如果不處於同一網段進行修改。

下圖是我的client和server的ip配置。

client


server



server的ip配置有幾種方式,我是通過setup進行配置,這裏就不想寫說了,或者修改/etc/sysconfig/network-scripts/ifcfg-eth0。配置完成以後重啓服務 service netword restart

3)進入到/var/named/chroot/etc/下配置named.conf,如果沒有named.conf文件,則copy一份命名爲此進行修改。

 cp -p named.caching-nameserver.conf named.conf 如下圖:


directory       "/var/named";
zone文件的存放目錄,指的是chroot環境下面的/var/named
dump-file       "/var/named/data/cache_dump.db";
存放緩存的信息
statistics-file "/var/named/data/named_stats.txt";
統計用戶的訪問狀態
memstatistics-file "/var/named/data/named_mem_stats.txt";
每一次訪問耗費多少內存的存放文件
allow-query     { any; };
       允許查詢的客戶端,any 表示任何人;
allow-query-cache { any; };
       允許那些客戶端來查詢緩存,any表示允許任何人

ps:接着兩個zone,指定dns以及反向查詢域,我們同時可以在directory下加一行:forwarders {202.96.134.133;}forwarders參數指明瞭其後的ip所  在的服務器作爲備選的dns服務器。也就是說,把本機的dns不能解析的主機發送到這個備選的dns服務器上,讓它來進行解析。


4)下面配置兩個zone文件,位置爲:/var/named/chroot/var/named/ 

cp -p localhost.zone  kobe.com

cp -p localhost.zone 180.64.10.in-addr.arpa

具體配置如下圖:

kobe.com


180.64.10.in-addr.arpa


Serial配置文件的修改版本

refresh 刷新頻率

retry 重試時間

expire 過期時間

SOA 指的是授權起始,後面接着寫你的dns服務器的主機名,這裏是“kobe.com.”。(注意,主機名稱後面的小圓點。凡是出現在記錄文件了的主機名,記得        都要加上這各小圓點。)NS 是名稱服務器資源記錄,指明域中的名稱服務器,這裏就是dns服務器,且一個NS可以對應多個例:如下圖

     MX是郵件交換者資源記錄,指明這個域的郵件服務器。你可以     寫多個MX記錄,指明多個郵件服務器,優先級別由MX後的數字決定,數字越小,郵件服務     器優先權越高。A是主機記錄,把主機和ip地址對應起來。CNAME是別      名記錄,它賦予一個主機不同的名稱。@表示當前授權域名。A指的是     Address


     5)下面指定當前主機的dns服務器,vi /etc/resolv.conf具體配置如圖,最多可以指定3個nameserver。

    


    6)上述配置完成以後檢驗配置的是否正確:



  

如果報錯檢查配置文件,沒有報錯,配置成功重啓named服務:service named restart。如果啓動沒有問題,則通過,我初次配置的時候出現了一個問題:

1.找不到zone文件,原因是可能對文件夾的錯誤理解,zone文件放錯位置,切記,zone文件放的是/var/named/chroot/var/named中。


     7)上述步驟沒有問題,用nslookup命令進行測試:如下圖

    

  此處可能遇到2個問題,至少我是遇到了2個問題,下面說下解決辦法:

  1.server failed 。查看tail /var/log/messages,查看錯誤信息,我當時是因爲權限不夠無法打開zone文件。

  2.no answer。此原因就是因爲配置不正確了。找不到dns



目前來說DNS配置完畢,後繼的sendmail server的配置看下一篇文章。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章