部署邮件服务器
概要
某高校组建了校园网,现需要在校园网中部署一台电子邮件服务器,用于发送公文和工作交流。
在诸多早期的Linux系统中,默认使用的发件服务是由Sendmail服务程序提供的,而在RHEL 7系统中已经替换为Postfix服务程序。相较于Sendmail服务程序,Postfix服务程序减少了很多不必要的配置步骤,而且在稳定性、并发性方面也有很大改进。利用基于Linux平台的Postfix邮件服务器既能满足需要,又能节省资金。
在完成该项目之前,首先应当规划好电子邮件服务器的存放位置、所属网段、IP地址、域名等信息;其次,要确定每个用户的用户名,以便为其创建账号等。并且如果想更好地检验电子邮件系统的配置效果,需要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务。
这是因为一般而言,信箱地址通常是类似于root@hnsw.com这种形式,也就是按照“用户名@主机地址(域名)”格式来规范的。如果你收到一串“root@192.168.1.100”的信息,可能摸不着头脑,没准会将它当作SSH协议的连接信息。因此,先部署好bind服务程序是必要的。
实验仪器设备(实验环境):
VMware Workstation 虚拟机;
redhat 7 Linux操作系统
部署基础的电子邮件系统
一个最基础的电子邮件系统肯定要能提供发件服务和收件服务,为此需要使用基于SMTP的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。这样一来,用户就可以使用Outlook Express或Foxmail等客户端服务程序正常收发邮件了。电子邮件系统的工作流程如图所示。
实验步骤
配置域名解析服务
第1步:设置网卡类型为仅主机模式
第2步:手动设置IP地址,注意要与VMnet1处理同一网段,并定义DNS服务器为本机
[root@localhost 桌面]# nmtui
[root@localhost 桌面]# systemctl restart network
[root@localhost 桌面]# ping 192.168.1.1 -c4
PING 192.168.100.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=128 time=0.157 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=128 time=0.112 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=128 time=0.134 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=128 time=0.130 ms
第3步:配置域名解析服务
方法一:连接网卡eno16777736, 配置hostname,配置dnsmasq,在hosts文件中增加本地IP<==>域名映射。
//Dnsmasq为小型网络提供网络基础设施:DNS,DHCP,路由器通告和网络引导。它被设计为轻量级且占用空间小,适用于资源受限的路由器和防火墙。
[root@localhost 桌面]# vim /etc/hostname
mail.hnsw01.com
[root@localhost 桌面]# hostname
mail.hnsw01.com
[root@mail 桌面]# vim /etc/hosts
[root@mail 桌面]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10 mail.hnsw01.com
[root@mail 桌面]# systemctl start dnsmasq
[root@mail 桌面]# systemctl enable dnsmasq.service
ln -s '/usr/lib/systemd/system/dnsmasq.service' '/etc/systemd/system/multi-user.target.wants/dnsmasq.service'
[root@mail 桌面]# systemctl list-unit-files | grep dns
dnsmasq.service enabled
[root@mail 桌面]# systemctl stop firewalld.service
[root@mail 桌面]# nslookup
> mail.hnsw01.com
Server: 192.168.1.10
Address: 192.168.1.10#53
Name: mail.hnsw01.com
Address: 192.168.1.10
> exit
若使用了方法一配置好了域名解析,方法二部分配置可以忽略。直接跳转至配置Postfix服务程序部分。
方法二:连接网卡eno16777736,配置服务器主机名称,使得服务器主机名称与发信域名保持一致。并搭建yum软件仓库,安装bind程序
[root@localhost 桌面]# nmcli device connect eno16777736
Device 'eno16777736' successfully activated with '4ca43ec3-3017-4700-816b-ca5fbf7bf260'.
[root@localhost 桌面]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fea5:64e8 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:a5:64:e8 txqueuelen 1000 (Ethernet)
RX packets 266 bytes 30277 (29.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 338 bytes 33556 (32.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopb