APP下载

基于CentOS6.X的邮件服务器的设计与实现

2015-09-11任开军

电脑知识与技术 2015年17期
关键词:配置文件邮件命令

任开军

摘要:Cent0S作为linux系列的一种发行版本,目前得到了很多大型企业的青睐。很多企业把邮件服务架设在CentOS之上,而在CentOS平台上比较方便的邮件服务器是Sendmail、dovecot。该文主要阐述了基于CentOS6.4系统下,Sendmail、dovecot服务的安装、配置、测试等过程。

关键词:CentOS6.4;mail;Sendmail;dovecot

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)17-0068-02

Linux作为开源的操作系统从其一出现,就凭借其开放、安全、稳定的特性得到全世界大批用户的青睐,其应用也日益广泛。在众多的Linux发行版本中,CentOS(Community Enterprise Operating System) 是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。很多企业把邮件服务架设在CentOS之上,而在CentOS平台上比较方便的邮件服务器是Sendmail。本文主要阐述了基于CentOS6.4服务器,Sendmail邮件服务器安装、配置、测试等过程。电子邮件系统由邮件用户代理MUA(Mail User Agent)和邮件传送代理MTA(Mail Transfer Agent)两部分构成。

1 实验环境的搭建,DNS服务的配置与测试

本文采用以下网络参数作为配置数据,读者可以根据自己的实际参数,进行相应的替换。将CentOS服务器IP设置为:192.168.10.100,子网掩码为255.255.255.0,并且安装配置DNS服务,创建域名gzx.edu。测试客户端PC1的IP为192.168.10.101,子网掩码为255.255.255.0,DNS为:192.168.10.100。测试客户端PC2的IP为192.168.10.102,子网掩码为255.255.255.0,DNS为:192.168.10.100。

在CentOS服务器中利用yum安装bind软件包,命令如下:yum install –y bind 。DNS的配置涉及四个配置文件:

1)/etc/named.conf在这个配置文件修改3处any;

11行 listen-on port 53 {any}; 监听所有。

12行 listen-on-v6 port 53 {any};针对ipv6设置。

17行 allow-query {all};查询所有。

2)/etc/named.rfcl912.zones在这个配置文件添加正反向根域文件;

在配置文件中添加如下代码行:

Zone“gzx.edu”IN{

Type master;

File“gzx.zone”:

Allow—update{ none;};

};

Zone“10.168.192.in—addr.arpa”IN{

Type master;

File“named.gzx”;

Anow—update{none;};

};

切换到正向和反向解析文件的目录中,通过cp命令复制正向和反向解析的模板。

1)在正向解析文件 /var/named/gzx.zone 中添加以下内容:

mail IN MX 10 mail.gzx.edu.

mail IN A 192.168.10.100

2)在反向解析文件/var/named/named.gzx 中添加以下内容:

100 IN PTR mail.gzx.edu.

3)重新启动并设置DNS服务器开机自启动:

4)在客户端利用nslookup命令测试邮件交换记录,以下是测试结果。

最后,要注意在防火墙的设置中,要开放DNS服务。

2 sendmail的安装及配置

2.1 sendmail的安装

首先用户可以在终端输入如下所示命令进行查询软件是否已安装,如果有返回结果则表示已经安装。

[root@localhost root]# rpm -qa|grep sendmail

如果提示软件包没有安装或者没有搜索结果,那这就需要用户自行安装这个Sendmail服务。用户可以直接安装光盘里Sendmail相关的服务软件包,也可以通过设置yum源来进行软件安装。在利用yum进行安装的时候,首先在/etc/yum.repos.d路径下要找到CentOS-Media.repo文件,将其中的enable=0改成enable=1,并且需要把baseurl的参数设置成软件包的路径。通过查看软件包属性发现其在/media路径下,可以直接把baseurl的参数设置为/media。

接着还需要通过mount命令实现挂载。命令格式为:mount /dev/cdrom /media。最后需要注意的是我们采用本地源进行安装的话,还需要将yum网络源配置文件CentOS-Base.repo进行改名,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。

2.2 sendmail的配置

Sendmail 服务配置文件是sendmail.cf,位于/etc/mail目录下。一般说来在安装了LINUX系统之后,他将自动生成一个适合本系统使用的sendmail.cf文件。但是这个文件配置很复杂,语法深奥难懂,很少有人会直接去修改。用户只需编辑sendmail.mc文件,再通过m4命令将sendmail.mc文件编译生成sendmail.cf。邮件服务器具体的配置过程如下:

1)修改/etc/mail/sendmail.mc,修改模板文件。在第116行,将其中的127.0.0.1改为0.0.0.0。这样修改的意思是让sendmail可以监听正确的网络接口,因为sendmail默认只监听localhost,即IP地址为127.0.0.0.1,而该地址无法在网络中提供实际服务。

2)将sendmail.mc生成sendmail.cf。第一种方法可以采用m4命令完成“# m4 sendmail.mc > sendmail.cf”。第二种方法,可以采用“#make all”完成编译。以上两种方法,均需要将路径切换到/etc/mail下。

3)Vim local-host-names,添加域名(实验创建的域名为gzx.edu)

4)设置邮件中继。

邮件中继(Mail Relay)是指将邮件从一个邮件传输代理(MTA)传到另一个MTA的动作。邮件中继可以通过修改/etc/mail/access文件,然后通过makeup命令转换成对应得数据库文件。但是通过DHCP动态获取IP地址的客户机,由于IP地址是动态的,所以通过设置/etc/mail/access文件实现中继方法不方便。下面我们利用设置SMTP验证,实现用户级别的邮件中继控制。在centos6.X系统中,提供SMTP验证的是saslauthd服务,saslauthd服务由cyrus-sasl软件包提供。Saslauthd服务默认已经安装好,如果没有,请参考sendmail软件包按照方式完成saslauthd服务安装。

以下是sendmail的SMTP验证配置方法。

打开/etc/mail/sendmail.mc文件,去掉52、53行的注释符“dnl”。存盘退出后,利用m4命令完成编译。

在终端窗口用service sendmail restart命令重新启动邮件服务器,然后再重新启动saslauthd服务。

3 POP3服务的安装与配置

为了使用户在客户机上接收电子邮件,还需要配置POP3或IMAP服务,因为sendmail本身不提供这两种服务,它只提供发送邮件的功能,也就是充当MTA。在centos6.X系统中则由dovecot软件包来提供。dovecot软件包不仅提供POP3和IMAP服务,还同时提供POP3S、IMAPS等服务。通过以下命令安装dovecot“#yum install –y dovecot”,具体方法参考前面sendmail软件包的安装过程。

1)打开POP3和IMAP支持,并且开放监听端口。

在终端窗口打开/etc/dovecot.conf文件,找到第二十行,去掉注释符号,即打开了POP3和IMAP支持。

找到第26行,将内容改成以下形式:listen = * ,表示监听所有网络接口。

2)配置邮件服务器收件箱位置,打开/etc/dovecot/conf.d/10-mail.conf文件,将以下一行的#去掉,修改为如下内容。

3)配置认证方式,本实验进行普通认证方式,关掉SSL,打开/etc/dovecot/conf.d/10-ssl.conf文件,找到第6行,将其修改为“ssl=no”。打开/etc/dovecot/conf.d/10-auth.conf文件,找到第9、97行,将其修改为如下内容。

4)建立几个系统账号,给客户端发送邮件用。

从我们的机器安全角度考虑,将创建的系统账号加入mail组,并且设置为不能登录到系统,本实验创建user1、user2两个用户,命令行的方式为

4 客户端邮件服务测试

打开测试客户端中的Outlook Express电子邮件客户端进行测试。在Windows客户机上将DNS服务器指定为192.168.10.100,这样就可以使邮件服务器的域名mail.gzx.edu生效。

1)首先要对Outlook Express进行必要的初始化配置,包括本地接收电邮的名称,smtp和pop3服务器的IP地址为192.168.10.100,用户名和密码相关账户的设置。

2)给PC1 中的OE设置本地账户为user1@mail.gzx.edu,并给user2发送邮件。

3)给PC2中的OE设置本地账户为user2@mail.gzx.edu,点击发送/接收按钮测试邮件收发是否正常,测试成功。

5 总结

Sendmail是发展历史悠久的邮件系统,sendmail在可移植性、稳定性方面有一定的保证。但是sendmail具有一些缺点,其特色功能过多而导致配置文件比较复杂,而且sendmail一般默认配置都是具有最小的安全特性,从而使sendmail很容易受到攻击。我们可以通过进一步学习,熟悉配置文档中的选项含义及其影响,可以大大增强服务的安全性。

参考文献:

[1] 白戈力. Red Hat Enterprise Linux 服务器配置实例教程[M]. 机械工业出版社,2011.

猜你喜欢

配置文件邮件命令
基于James的院内邮件管理系统的实现
只听主人的命令
来自朋友的邮件
CMailServer
忘记ESXi主机root密码怎么办
一封邮件引发的梅赛德斯反弹
移防命令下达后
打印机设置
这是人民的命令
对卢沟桥事变期间一份“作战命令”的考析