实验环境配置,Centos7虚拟机两台:
Test(192.168.141.12):提供DNS服务
client2(192.168.141.53):提供postfix和dovecot服务
测试用的是咱们的物理机
电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些。
用于发送和中转发出 的电子邮件,占用服务器的25/TCP端口。
用于将电子邮件存储到本地主机,占用服 务器的110/TCP端口。
用于在本地 主机上访问邮件,占用服务器的143/TCP端口。
Postfix是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是一个开放源代码的软件。
Dovecot 是一个开源的 IMAP 和 POP3 邮件服务器,支持 Linux/Unix 系统。Dovecot 是一个比较新的软件,由 Timo Sirainen 开发,最初发布于 2002年7月。作者将安全性考虑在第一,所以 Dovecot 在安全性方面比较出众。另外,Dovecot 支持多种认证方式,所以在功能方面也比较符合一般的应用。
这里几乎和上篇文章中所做一模一样,但是毕竟是新的一片文章,所以我们重新做一遍,也好顺便复习上篇文章中敲过的命令。
Test安装DNS服务软件包
[root@localhost ~]# yum install bind bind-chroot bind-utils -y
修改主配置文件
[root@localhost ~]# vim /etc/named.conf
将 listen-on port 53那行改为any,将listen-on-v6那行备注掉,将 allow-query 的由localhost改为any即可
options {
listen-on port 53 { any; };
# listen-on-v6 port 53 { ::1; };
directory "/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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
保存退出
正向区域解析区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
在最后面加上一段:
zone "feng.io" IN {
type master;
file "feng.io.zone";
allow-update { none; };
};
保存退出
配置正向解析数据文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -a named.localhost feng.io.zone
[root@localhost named]# vim feng.io.zone
$TTL 1D
@ IN SOA feng.io. root.feng.io. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.feng.io.
ns IN A 192.168.141.12
A 192.168.141.53
IN MX 10 mail.feng.io.
mail IN A 192.168.141.53
保存退出
防火墙放行服务
[root@localhost named]# firewall-cmd --add-service=dns --permanent
success
[root@localhost named]# firewall-cmd --reload
success
[root@localhost named]#
修改反向解析区域配置文件
[root@localhost named]# vim /etc/named.rfc1912.zones
在尾部加入:
zone "141.168.192.in-addr.arpa" IN {
type master;
file "192.168.141.arpa";
allow-update { none; };
};
保存退出
反向区域解析数据文件
[root@localhost named]# cp feng.io.zone 192.168.141.arpa
[root@localhost named]# vim 192.168.141.arpa
$TTL 1D
@ IN SOA feng.io. root.feng.io. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.feng.io.
A 192.168.141.53
53 PTR feng.io.
12 PTR ns.feng.io.
53 PTR mail.feng.io.
保存退出,重启named服务
[root@localhost named]# systemctl restart named
配置主机域名,需要保证服务器主机名称与发信域名保持一致:
[root@localhost ~]# hostnamectl set-hostname mail.feng.io
[root@localhost ~]# hostname
mail.feng.io
[root@localhost ~]#
修改dns配置
[root@localhost ~]# vi /etc/resolv.conf
# Generated by NetworkManager
search localdomain feng.io
nameserver 192.168.141.12
nameserver 114.114.114.114
保存退出
检查dns服务
[root@localhost ~]# nslookup
> 192.168.141.12
Server: 192.168.141.12
Address: 192.168.141.12#53
12.141.168.192.in-addr.arpa name = ns.feng.io.
> mail.feng.io
Server: 192.168.141.12
Address: 192.168.141.12#53
Name: mail.feng.io
Address: 192.168.141.53
> 192.168.141.53
Server: 192.168.141.12
Address: 192.168.141.12#53
53.141.168.192.in-addr.arpa name = feng.io.
53.141.168.192.in-addr.arpa name = mail.feng.io.
> exit
[root@localhost ~]#
可以看出,dns服务正常,正反向解析都成功了。
安装邮件服务器需要的软件包
[root@localhost ~]# yum install postfix dovecot -y
参数 | 作用 |
---|---|
myhostname | 邮局系统的主机名 |
mydomain | 邮局系统的域名 |
myorigin | 从本机发出邮件的域名名称 |
inet_interfaces | 监听的网卡接口 |
mydestination | 可接收邮件的主机名或域名 |
mynetworks | 设置可转发哪些主机的邮件 |
relay_domains | 设置可转发哪些网域的邮件 |
[root@localhost ~]# vi /etc/postfix/main.cf
修改为以下内容,记得原来那行的备注符号#号不要忘了去掉!
76行:
myhostname = mail.feng.io
83行:
mydomain = feng.io
99行:
myorigin = $mydomain
116行:
inet_interfaces = all
164行:
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
179行:
local_recipient_maps =
保存退出
Postfix与vsftpd服务程序一样,都可以调用本地系统的账户和密码,因此在本地系统创建常规账户即可。最后重启配置妥当的postfix服务程序,并将其添加到开机启动项中
[root@localhost ~]# useradd aaa
[root@localhost ~]# echo "123456" | passwd --stdin aaa
更改用户 aaa 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# systemctl restart postfix
[root@localhost ~]# systemctl enable postfix
[root@localhost ~]#
修改配置文件
[root@localhost ~]# vi /etc/dovecot/dovecot.conf
将第24行改为:
protocols = imap pop3 lmtp
其实也就是去掉了备注而已
注意:如果想允许所有人都能使用,则不用修改下面的参数,反正这次实验我是没去改
如果想要仅仅允许192.168.141.0/24网段的用户使用dovecot服务,则将第48行改为:
login_trusted_networks = 192.168.141.0/24
保存退出
允许明文传输内容
[root@localhost ~]# vi /etc/dovecot/conf.d/10-auth.conf
修改为以下内容,记得原来那行的备注符号#号不要忘了去掉!
第10行:
disable_plaintext_auth = no
第100行:
auth_mechanisms = plain login
保存退出
取消SSL
[root@localhost ~]# vi /etc/dovecot/conf.d/10-ssl.conf
修改为以下内容
第8行:
ssl = no
将14、15行都备注掉
第14行:
#ssl_cert =
设置收件箱
[root@localhost ~]# vi /etc/dovecot/conf.d/10-mail.conf
将第25行改为:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
其实也就是去掉备注而已
保存退出
然后切换到配置Postfix服务程序时创建的eagle账户,并在家目录中建立用于保存邮件的目录。记得要重启Dovecot服务并将其添加到开机启动项中。至此,对Dovecot服务程序的配置部署步骤全部结束。
[root@localhost ~]# su - aaa
[aaa@mail ~]$ mkdir -p mail/.imap/INBOX
[aaa@mail ~]$ exit
登出
[root@localhost ~]# systemctl restart dovecot
[root@localhost ~]# systemctl enable dovecot
Created symlink from /etc/systemd/system/multi-user.target.wants/dovecot.service to /usr/lib/systemd/system/dovecot.service.
[root@localhost ~]#
设置邮件服务的防火墙放行
[root@localhost ~]# firewall-cmd --add-port={25,110,143}/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]#
在本篇文章开始那里,常见的邮件协议介绍的三种协议的端口号分别便是25,110,143,均放行。
安装完成后打开,选择手动设置,然后如下图:
发送邮件给咱们的client2那台虚拟机的root用户,看看它能不能收到。
首先在client2上安装相关工具包
[root@localhost ~]# yum install mailx sendmail -y
装好后,先敲mail命令,然后直接回车即可
[root@localhost ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 [email protected] Sun Feb 3 19:07 52/2158 "HelloMail"
&
Message 1:
From [email protected] Sun Feb 3 19:07:47 2019
Return-Path:
X-Original-To: [email protected]
Delivered-To: [email protected]
Date: Sun, 3 Feb 2019 19:07:45 +0800
From: "[email protected]"
To: root
Subject: HelloMail
X-Priority: 3
X-Has-Attach: no
X-Mailer: Foxmail 7.2.9.156[cn]
Content-Type: multipart/alternative;
boundary="----=_001_NextPart407851228804_=----"
Status: R
Content-Type: text/plain;
charset="GB2312"
当您收到这封邮件时,证明我的邮局系统实验已经成功!
[email protected]
&
可以看到,它的确收到了邮件了,说明咱们的配置成功了!
至于linux端发邮件给windows,写起来比较麻烦,也不好解释怎么操作,有兴趣的朋友可以自行网上学习,最好是视频形式的教程,那样才听得明白。
题外话
上面咱们用到的那款软件Foxmail中文名是狐邮,正是在最近热播的电视剧《创业时代》里面的罗维开发的软件,这剧真的挺好看的,主演黄轩演的真的不错,喜欢的朋友们可以去追一追这部剧。
本篇到此结束。