网络系统管理技能大赛|debian配置mail

视频地址: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
apt -y install openssl

-

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的收件箱 可以看到收到了!