视频地址:https://www.bilibili.com/video/BV1hY4y1i75D/
Postfix
sdskills.net 的邮件发送服务器
支持smtps(465)协议连接,使用Rserver颁发的证书,证书路径/CA/cacert.pem
创建邮箱账户“user1~user99”(共99个用户),密码为Chinaskill20!。
Dovecot
sdskill.net 的邮件接收服务器;
支持imaps(993)协议连接,使用Rserver颁发的证书,证书路径/CA/cacert.pem;
请保留至少两个用户已成功登录并能正常收发邮件,以方便测试。
DNS
server01
证书配置
server02
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| vim /etc/ssl/openssl.cnf
48行 dir = ./demoCA 改为 48行 dir = /CA
91行 state0rProvinceName = match 改为 91行 state0rProvinceName = optional
92行 organizationName = match 改为 92行 organizationName = optional
|
-
1 2 3 4 5 6 7 8 9 10
| mkdir /CA
cd /CA
openssl genrsa -out mail.key 2048
openssl req -new -key mail.key -out mail.csr
然后在server02上将证书请求文件发送到ca端 scp /CA/mail.csr 172.16.100.254:/CA
|
Rserver
1 2 3
| cd /CA
openssl x509 -req -in mail.csr -CA /CA/cacert.pem -CAkey /CA/private/cakey.pem -CAcreateserial -out mail.crt
|
将证书发给server01
1 2
| scp mail.crt 172.16.100.202:/CA scp cacert.pem 172.16.100.202:/CA
|
postfix
1 2 3 4
| apt install -y postfix
选择Internet Site 输入sdskills.net 确定
|
编辑postfix配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| vim /etc/postfix/main.cf
找到 smtpd_tls_cert_file smtpd_tls_key_file 修改为 smtpd_tls_cert_file=/CA/mail.crt smtpd_tls_key_file=/CA/mail.key
最下面添加 home_mailbox = Maildir/
找到mydestination行
在已有的数据添加mail.sdskills.net
修改mynetworks整行 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
修改为: mynetworks = 0.0.0.0/0
修改myorigin = /etc/mailname 为: myorigin = sdskills.net
修改myhostname = debian 为: myhostname = mail.sdskills.net
|
编辑master
1 2 3 4 5 6 7 8 9 10 11 12
| vim /etc/postfix/master.cf
找到这行在前面加#注释 smtp inet n - y - - smtpd
找到这行删掉# #smtp inet n - y - - smtpd
找到这行删掉# # -o smtpd_tls_wrappermode=yes
|
重启
1 2 3 4
| systemctl restart postfix systemctl status postfix
netstat -tlnp |grep 'master'
|
查看
1
| openssl s_client -connect mail.sdskills.net:465
|
dovecot
安装
1
| root@server02:/CA# apt -y install dovecot-imapd
|
配置dovecot.conf
1
| vim /etc/dovecot/dovecot.conf
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| 找到 #listen = *, :: 改为 listen = *
找到 #login_trusted_networks = 改为 login_trusted_networks = 0.0.0.0/0
添加 protocols = imaps
|
配置10-mail.conf
1 2 3 4 5 6 7 8 9 10 11 12
| vim /etc/dovecot/conf.d/10-mail.conf
找到 mail_location = mbox:~/mail:INBOX=/var/mail/%u 改为 #mail_location = mbox:~/mail:INBOX=/var/mail/%u
找到 # mail_location = maildir:~/Maildir 改为 mail_location = maildir:~/Maildir
|
配置10-ssl.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| vim /etc/dovecot/conf.d/10-ssl.conf
找到 ssl_cert = </etc/dovecot/private/dovecot.pem 改为 ssl_cert = </CA/mail.crt
找到 ssl_key = </etc/dovecot/private/dovecot.key 改为 ssl_key = </CA/mail.key
root@server02:~# cd /etc/dovecot/private
root@server02:/etc/dovecot/private# ln -s /CA/mail.crt ./ root@server02:/etc/dovecot/private# ln -s /CA/mail.key ./
|
重启
1 2 3 4 5 6
| systemctl restart dovecot systemctl status dovecot
netstat -tlnp |grep 'dovecot'
openssl s_client -connect mail.sdskills.net:993
|
批量创建用户
1 2 3 4 5 6 7 8 9 10 11
| vim test.sh
#!/bin/bash for i in {1..99} do useradd -m -s /bin/false "user$i" echo "user$i:Chinaskill20!" |chpasswd done
bash test.sh #执行脚本
|
邮箱设置
到这里邮箱账户就添加好了
我们在按照之前的步骤 在重新添加多一个账户 作为邮箱测试的
我们点击新建按钮
我们用user1发送邮件给user2
我们来到user2的收件箱 可以看到收到了!