日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

postfix+sasl+dovecot

發(fā)布時間:2025/3/20 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 postfix+sasl+dovecot 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、郵件服務(wù)依賴于DNS服務(wù),所以先配置一個DNS服務(wù)器(我的地址是10.0.146.18

1.修改主機名

# hostname mail.fsy.com

# vim /etc/hostname

修改為:mail.fsy.com

2.安裝bind并修改其配置文件

# yum -y install bind

# vim /etc/named.conf

去掉options中的:

listen-on port 53 { 127.0.0.1; };

?allow-query ????{ localhost; };

3.配置正向區(qū)域和反向區(qū)域,并測試有無語法錯誤

# vim /etc/named.rfc1912.zones

添加:

zone "fsy.com" IN {

????????type master;

????????file "fsy.com.zone";

????????allow-update { none; };

????????allow-transfer { none; };

};

zone "146.0.10.in-addr.arpa" IN {

????????type master;

????????file "10.0.146.zone";

????????allow-update { none; };

????????allow-transfer { none; };

};

# named-checkconf(測試有無語法錯誤)

4.編輯正向和反向區(qū)域文件

# cd /var/named/

# vim fsy.com.zone(編輯正向區(qū)域文件)

添加以下內(nèi)容:

$TTL 86400

@ ??????IN ?????SOA ????ns.fsy.com. admin.fsy.com. (

????????????????????????2016092501

????????????????????????2H

????????????????????????10M

????????????????????????3D

????????????????????????1D)

????????????????IN ?????NS ?????ns

????????????????IN ?????MX ?????10 ?????mail

ns ?????????????IN ?????A ??????10.0.146.18

mail ???????????IN ?????A ??????10.0.146.18

www ??????????IN ?????A ??????10.0.146.18

# vim 10.0.146.zone(編輯反向區(qū)域文件)

添加以下內(nèi)容:

$TTL 86400

@ ??????????????IN ?????SOA ????ns.fsy.com. ????admin.fsy.com. (

????????????????????????????????2016092501

????????????????????????????????2H

????????????????????????????????10M

????????????????????????????????3D

????????????????????????????????1D)

????????????????IN ?????NS ?????ns.fsy.com.

18 ?????????????IN ?????PTR ????ns.fsy.com.

18 ?????????????IN ?????PTR ????mail.fsy.com.

18 ?????????????IN ?????PTR ????www.fsy.com.

5.修改區(qū)域配置文件的屬組和權(quán)限,并測試有無語法錯誤

# chgrp named fsy.com.zone 10.0.146.zone

# chmod 640 fsy.com.zone 10.0.146.zone

# named-checkzone "fsy.com" fsy.com.zone

# named-checkzone "146.0.10.in-addr.arpa" 10.0.146.zone

6.重啟DNS服務(wù),使其開機自動啟動,并測試

注意:請先更改本機的DNS服務(wù)器

# vim /etc/resolv.conf

nameserver 10.0.146.18

# service named restart

# chkconfig named on

# dig -t MX fsy.com @10.0.146.18

# dig -t A mail.fsy.com @10.0.146.18

一切正常!

二、想要實現(xiàn)基于mysql的虛擬用戶,所以先安裝mysql(這里用rpm包安裝)

# yum install mysql-server mysql-devel

# service mysqld start

# chkconfig mysqld on

三、編譯安裝postfix,(我這里用 postfix-2.10.10.tar.gz,相關(guān)軟件包可以到postfix官網(wǎng)下載)

注意:首先同步一下時間,取得和硬件時間一致的時間

# hwclock -s

1.解壓

# tar xf postfix-2.10.10.tar.gz

# cd postfix-2.10.10

2.建立postfixpostdrop組和用戶

# groupadd -g 2525 postfix

# useradd -g postfix -u 2525 -s /sbin/nologin -Mpostfix

# groupadd -g 2526 postdrop

# useradd -g postdrop -u 2526 -s /sbin/nologin -M postdrop

3.安裝所需軟件包

# yum -y install cyrus-sasl-devel

# yum -y install gcc

# yum install db*-devel

4.安裝

#make makefiles 'CCARGS=-DHAS_MYSQL -I/usr/include/mysql -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl ?-DUSE_TLS ' 'AUXLIBS=-L/usr/lib/mysql -lmysqlclient -lz -lm -L/usr/lib/sasl2 -lsasl2 ?-lssl -lcrypto'

釋義:

CCARGS:指明頭文件位置,CCARGS=-DHAS_MYSQL 指明啟用mysql的連接能

-I/usr/include/mysql 指明mysql的頭文件位置

-DUSE_SASL_AUTH啟用SASL認證

-I/usr/include/sasl指明SASL頭文件位置

-DUSE_TLS使SMTP支持smtps協(xié)議

AUXLIBS:指明庫文件位置,-L/usr/lib/mysql 指明MySQL庫文件位置

-lmysqlclient指明MySQL客戶端庫文件

-lz壓縮庫文件

-lm模塊庫文件

-lsslssl的庫文件

# make

# make install

按照以下的提示輸入相關(guān)的路徑([]號中的是缺省值,”]”后的是輸入值,省略的表示采用默認值)

?

install_root: [/] /

tempdir: [/root/postfix-2.10.10] /root/postfix-2.10.10

config_directory: [] /etc/postfix

command_directory: [] /usr/sbin

daemon_directory: [] /usr/libexec/postfix

data_directory: [] /var/lib/postfix

html_directory: [] no

mail_owner: [] postfix

mailq_path: [] /usr/bin/mailq.postfix

manpage_directory: [] /usr/share/man

newaliases_path: []/usr/bin/newaliases.postfix

queue_directory: [] /var/spool/postfix

readme_directory: [] /usr/share/doc/postfix-2.6.6/README_FILES

sendmail_path: [] /usr/sbin/sendmail.postfix

setgid_group: [] postdrop

5、生成aliases.db文件

# newaliases

# ls /etc/aliases.db

6、修改配置文件

# cd /etc/postfix/

# vim main.cf

mynetworks = 192.168.182.0/24, 127.0.0.0/8(定義給哪些網(wǎng)段中繼郵件)

myhostname = mail.fsy.com(定義主機名)

myorigin = $mydomain

mydomain = fsy.com

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,

ns.$mydomain

inet_interfaces = all監(jiān)聽的ip地址

說明:

mynetworks 參數(shù)指定你所在的網(wǎng)絡(luò)的網(wǎng)絡(luò)地址,postfix系統(tǒng)根據(jù)其值來區(qū)別用戶是遠程的還是本地的,如果是本地網(wǎng)絡(luò)用戶則允許其訪問

myhostname 參數(shù)指定運行postfix郵件系統(tǒng)的主機的主機名,默認情況下,其值被設(shè)定為本地機器名;

myorigin參數(shù)用來指明發(fā)件人所在的域名,即做發(fā)件地址偽裝;

mydomain 參數(shù)指定您的域名,默認情況下,postfixmyhostname的第一部分刪除而作為mydomain的值;

mydestination參數(shù)指定postfix接收郵件時收件人的域名,即您的postfix系統(tǒng)要接收到哪個域名的郵件;

?

5.現(xiàn)在即可啟動測試了(此處可能遇到服務(wù)無法啟動,看日志)

# ?service postfix restart

此時可使用本地用戶測試郵件收發(fā)了

四、安裝dovecot,實現(xiàn)收郵件

1.安裝:

# yum -y install dovecot

2.修改配置文件

# vim /etc/dovecot/dovecot.conf ,修改以下內(nèi)容

protocols = pop3 imap lmtp

login_trusted_networks = 0.0.0.0/0

# cd /etc/dovecot/conf.d

# vim 10-auth.conf 修改如下內(nèi)容

disable_plaintext_auth = yes

# vim 10-ssl.conf修改如下內(nèi)容

ssl = no

# vim 10-mail.conf修改以下內(nèi)容

mail_location = mbox:~/mail:INBOX=/var/mail/%u

mbox_write_locks = fcntl

3.創(chuàng)建用戶,并且在用戶家目錄下創(chuàng)建mail/.imap/INBOX

mkdir -p mail/.imap/INBOX

4.啟動服務(wù),并將其添加至服務(wù)列表中

# service dovecot start

# chkconfig dovecot on

5.可以測試使用了

如:# telnet mail.fsy.com 110

Trying 10.0.146.18...

Connected to mail.fsy.com.

Escape character is '^]'.

+OK Dovecot ready.

user openstack

+OK

pass 123456

+OK Logged in.

LIST

+OK 5 messages:

1 283

2 276

3 278

4 278

5 281

.

retr 2

?

五、配置SASL (此時我的系統(tǒng)上有一個用戶hadoop,密碼為:123456

1.、編輯配置文件

# vim /etc/sysconfig/saslauthd

MECH=shadow

2、啟動sasl服務(wù),并使其開機自動啟動

# service saslauthd start

# chkconfig saslauthd on

saslauthd -v: 顯示當(dāng)前主機saslauthd服務(wù)所支持的認證機制,默認為pam

3、測試命令進行測試

# testsaslauthd -u hadoop -p 123456

4、說明基于哪種方式實現(xiàn)認證

# vim /usr/lib/sasl2/smtpd.conf

添加如下內(nèi)容:

pwcheck_method: saslauthd

mech_list: PLAIN LOGIN

5、重啟sasl服務(wù),使其讀取smtpd.conf這一配置文件

# service saslauthd restart

6、測試是否支持SASL

# postconf -a

其中出現(xiàn):cyrus,表明支持SASL

7、編輯postfix的配置文件,添加以下內(nèi)容

# vim /etc/postfix/main.cf

############################CYRUS-SASL############################

broken_sasl_auth_clients = yes

smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = $myhostname

smtpd_sasl_security_options = noanonymous

smtpd_sasl_path = smtpd

smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!

釋義:

broken_sasl_auth_clients = yes是否啟用客戶端sasl驗證

smtpd_recipient_restrictions=

permit_mynetworks允許本地網(wǎng)絡(luò)

permit_sasl_authenticated允許sasl驗證通過的用戶

reject_invalid_hostname拒絕主機名不合法的用戶

reject_non_fqdn_hostname拒絕主機名不是fqdn格式的用戶

reject_unknown_sender_domain拒絕無法識別的發(fā)件人域

reject_non_fqdn_sender拒絕不是fqdn格式的發(fā)件人

reject_non_fqdn_recipient拒絕沒有fqdn格式的發(fā)件人

reject_unknown_recipient_domain拒絕無法識別的收件人域

reject_unauth_pipelining拒絕無法驗證的管道

reject_unauth_destination拒絕非本域的收件人

smtpd_sasl_auth_enable = yes啟用sasl認證功能

smtpd_sasl_local_domain = $myhostname本地主機不用認證

smtpd_sasl_security_options = noanonymous不主持匿名用戶

smtpd_sasl_path = smtpdsmtpd要使用sasl功能

smtpd_banner =顯示歡迎信息

?

為了顯示效果,修改如下

mynetworks = 127.0.0.0/8

7、重啟服務(wù),可以測試!

[root@mail ~]# service postfix restart

8、注意:用戶認證需要生成需要將用戶名和密碼轉(zhuǎn)換為base64

[root@mail ~]# echo -n "hadoop" | openssl base64

[root@mail ~]# echo -n "123456" | openssl base64

?

測試:

測試結(jié)果:

[root@mail ~]# telnet localhost 25

Trying ::1...

telnet: connect to address ::1: Connection refused

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 Welcome to our mail.fsy.com ESMTP,Warning: Version not Available!

auth login

334 VXNlcm5hbWU6

aGFkb29w

334 UGFzc3dvcmQ6

MTIzNDU2

235 2.7.0 Authentication successful

mail from:hadoop@fsy.com

250 2.1.0 Ok

rcpt to:hello@aol.com

250 2.1.5 Ok

data

354 End data with <CR><LF>.<CR><LF>

hello hao are you

.

250 2.0.0 Ok: queued as 76B841FDE5

quit ??

221 2.0.0 Bye

Connection closed by foreign host.

?

?

?

?

?

?

?


轉(zhuǎn)載于:https://blog.51cto.com/10927734/1856838

總結(jié)

以上是生活随笔為你收集整理的postfix+sasl+dovecot的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。