基于linux邮件服务器的配置与管理.docx
《基于linux邮件服务器的配置与管理.docx》由会员分享,可在线阅读,更多相关《基于linux邮件服务器的配置与管理.docx(20页珍藏版)》请在冰豆网上搜索。
基于linux邮件服务器的配置与管理
LiaoningNormalUniversity
(2011届)
本科生毕业论文(设计)
题目:
基于linux邮件服务器的配置与管理
学院:
计算机与信息技术学院
专业:
计算机科学与技术
班级序号:
09计算机29号
学号:
20091118090029
学生姓名:
杨宽
指导教师:
陈斌
2011年5月
目录
摘要1
1.1课题背景2
1.2安装概述2
1.3配置概述2
2.电子邮件与postfix简介2
2.1电子邮件简介2
2.2postfxi简介3
2.2.1Postfix简介3
2.2.2Postfix获得4
3.需求分析4
3.1课题分析4
3.2系统分析4
4.安装与配置5
4.1DNS搭建5
4.2postfix安装与配置6
4.2.1安装6
4.2.2配置7
4.3dovecot配置8
4.4Cyrus-sasl配置9
4.4.1Cyrus-sasl安装9
4.4.2配置9
4.5邮件常用设置9
5.测试10
5.1启动所有服务10
6.结论13
基于linux邮件服务器的配置与管理
摘要
postfix是WietseVenema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。
下面一段话摘自postfix的官方站点(http:
//www.postfix.org):
“postfix是WietseVenema想要为使用最广泛的sendmail提供替代品的一个尝试。
在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。
这真实一个让人吃惊的数字。
Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。
”
关键词:
postfix;电子邮件;DNS;linux;安全
Abstract
postfixWietseVenemaisanagreementundertheGPLinIBM'sdevelopmentoftheMTA(MailTransportAgent)software.Thefollowingpassageistakenfromtheofficialsitepostfix(http:
//www.postfix.org):
"postfixisWietseVenemawanttoprovidethemostwidelyusedsendmailalternativesatry.IntheInternetworld,mostofthee-mailTodeliverythroughsendmail,about100millionuserstousesendmail,deliverhundredsofmillionsofemailseveryday.Thisistrueofasurprisingnumber.Postfixattemptstofaster,moremanageable,moresecure,whilealsokeepingwiththesendmailCompatibleenough."
Keywords:
postfix;E-mail;DNS;linux;Security
前言
电子邮件很长时间以来一直被人们当成是互联网的“杀手应用”。
全球每一天发送的电子邮件数量预计为大约12万亿封。
而且这个数字每一天都在增长。
整个电子邮件服务器市场继续增长,并且将大体上分为Unix/linux式的平台和Windows平台两大类。
在Linux、Solaris和BSD等Unix式的平台领域,老牌的sendmail继续占统治地位。
比较新的竞争对手exim和postfix占据了剩余的领地。
所有这三种软件都是非常灵活的、开放的邮件服务器。
拥有充分的管理员知识的用户能够使用这些邮件服务器软件满足各种各样的电子邮件管理需求。
虽然Windows领域有种类繁多的邮件服务器。
许可证的收费价格也千差万别,少则几百美元,多则数千至数万美元。
而Unix/linux邮件服务器一般都是免费的软件,相比之下更安全,只是,Unix/linu学习起来难度较大。
1.概述
1.1课题背景
电子邮件很长时间以来一直被人们当成是互联网的“杀手应用”。
全球每一天发送的电子邮件数量预计为大约12万亿封。
而且这个数字每一天都在增长。
整个电子邮件服务器市场继续增长,并且将大体上分为Unix/linux式的平台和Windows平台两大类。
在Linux、Solaris和BSD等Unix式的平台领域,老牌的sendmail继续占统治地位。
比较新的竞争对手exim和postfix占据了剩余的领地。
所有这三种软件都是非常灵活的、开放的邮件服务器。
拥有充分的管理员知识的用户能够使用这些邮件服务器软件满足各种各样的电子邮件管理需求。
虽然Windows领域有种类繁多的邮件服务器。
许可证的收费价格也千差万别,少则几百美元,多则数千至数万美元。
而Unix/linux邮件服务器一般都是免费的软件,相比之下更安全,只是,Unix/linu学习起来难度较大。
1.2安装概述
由于linux的强大在于它的字符界面,占用资源少,安全。
这样又面临着另一个问题,不能很好的截取我们想要的图片。
所以我们的环境是在windowsXP下安装virtualbox虚拟机软件。
在虚拟机下安装RHEL6。
在这里进行一系列安装。
1.3配置概述
安装的软件在安装光盘都有,需要时只需挂载光盘,将其安装。
所有的安装都在字符界面下完成,对于初学者有些难度。
2.电子邮件与postfix简介
2.1电子邮件简介
电子邮件(electronicmail,简称E-mail,标志:
@,也被大家昵称为“伊妹儿”)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式。
是Internet应用最广的服务:
通过网络的电子邮件系统,用户可以用非常低廉的价格(不管发送到哪里,都只需负担电话费和网费即可),以非常快速的方式(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。
同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。
这是任何传统的方式也无法相比的。
正是由于电子邮件的使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变。
另外,电子邮件还可以进行一对多的邮件传递,同一邮件可以一次发送给许多人。
最重要的是,电子邮件是整个网间网以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人通信的需求。
电子邮件指用电子手段传送信件、单据、资料等信息的通信方法。
电子邮件综合了电话通信和邮政信件的特点,它传送信息的速度和电话一样快,又能象信件一样使收信者在接收端收到文字记录。
电子邮件系统又称基于计算机的邮件报文系统。
它承担从邮件进入系统到邮件到达目的地为止的全部处理过程。
电子邮件不仅可利用电话网络,而且可利用任何通信网传送。
在利用电话网络时,还可利用其非高峰期间传送信息,这对于商业邮件具有特殊价值。
由中央计算机和小型计算机控制的面向有限用户的电子系统可以看作是一种计算机会议系统。
电子邮件的工作过程遵循客户-服务器模式。
每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。
发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。
邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。
邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。
接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件。
2.2postfxi简介
2.2.1Postfix简介
postfix是WietseVenema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。
下面一段话摘自postfix的官方站点(http:
//www.postfix.org):
“postfix是WietseVenema想要为使用最广泛的sendmail提供替代品的一个尝试。
在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。
这真实一个让人吃惊的数字。
Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。
”
Postfix的起源与设计思想
Postfix的开发者是WietseVenema,荷兰人,程序员和物理学家。
他的论文在业内很有名。
1998年12月,他决定让Postfix正式成为开源软件(opensource)。
IBM研究中心为最初版本提供赞助,并不断的支持其发展(IBM称此软件为sourcemailer)。
可靠性、安全性、效率、灵活性、容易使用、兼容于sendmail,是Postfix最初订下的发展目标。
可靠性(Reliability)
Postfix其真正的价值,要在苛刻的条件下才会逐渐显现出来。
即使在简单的环境中,软件都可能会遇到意外情况的。
其行为就变得不可预测。
而Postfix能够侦测出这类的情况,让系统有机会恢复正常,而不是使问题变得更糟。
Postfix总是采用任何能够采用的预防措施,得以稳定和可靠运行。
安全性(Security)
Postfix假设它是在充满敌意的环境中运行。
它采用多层次的防御,以防止被攻击。
最小权限的安全概念是整个Postfix的运行制度,使每功能都放在一个单独的模块里,并以最低权限集运行。
权限较高的进程,绝不会信任没有特权的进程。
非必要的模块,可以被管理员移出系统或停用,借此来提高安全性,并简化维护管理的工作。
效率(Perpormance)
“效率”是Postfix中心理念之一,事实上,它甚至采取了相应步骤来确保它的运行不会影响到其他系统的效率。
它使用多种技术来限制新建进程的数量以及处理信息时所需要的访问文件系统的次数。
灵活性(Flexibility)
整个Postfix系统实际上是由多个不同的程序和子系统构成。
这样的系统结构使得Postfix非常有灵活性。
所有的改动都可以通过配置文件来更改。
易于使用(Ease-of-Use)
Postfix是最容易架设与控制管理的邮件系统理之一,因为它使用直接的配置文件与简单的查询表来转换地址、传递邮件。
隐藏在Postfix背后的配置思路的理念是“平实”,也就是说,Postfix的行为结果能尽可能符合大多数人的预期。
当Venema博士面临设计决择时,他选择了最多人会认为合理的方案。
兼容于Sendmail
兼容与Sendmail的特性,使Postfix可以轻易取代系统原有的Sendmail,而不必迫使用户做出任何改变,也不必打破任何程序与Sendmail的依赖关系。
Postfix支持Sendmail的约定,像/etc/aliases与.forward文件。
而Sendmail本身的可执行文件——sendmail,则被替换成Postfix的版本,这个替代版具有相同的命令行参数,只不过实际的运行工作是交由Postfix系统来完成。
虽然你的Sendmail相关程序可以继续试用,但是Postfix的改进已与Sendmail无关,甚至也没必要以同样的方式来实现出所有E-mail功能。
2.2.2Postfix获得
可以在ThePostfixHomePage(
Postfix目录结构
/etc/postfix默认的安装目录,配置文件都在此目录下
/usr/libexec/postfixPostfix各个服务程序的目录
/var/spool/postfix队列文件
/usr/sbinPostfix工具程序
3.需求分析
3.1课题分析
电子邮件很长时间以来一直被人们当成是互联网的“杀手应用”。
全球每一天发送的电子邮件数量预计为大约12万亿封。
而且这个数字每一天都在增长。
整个电子邮件服务器市场继续增长,并且将大体上分为Unix/linux式的平台和Windows平台两大类。
在Linux、Solaris和BSD等Unix式的平台领域,老牌的sendmail继续占统治地位。
比较新的竞争对手exim和postfix占据了剩余的领地。
所有这三种软件都是非常灵活的、开放的邮件服务器。
拥有充分的管理员知识的用户能够使用这些邮件服务器软件满足各种各样的电子邮件管理需求。
虽然Windows领域有种类繁多的邮件服务器。
许可证的收费价格也千差万别,少则几百美元,多则数千至数万美元。
而Unix/linux邮件服务器一般都是免费的软件,相比之下更安全,只是,Unix/linux学习起来难度较大。
对于掌握postfix邮件服务的配置与管理,是对Unix/linux服务器深入了解掌握关键组成部分。
3.2系统分析
RedHatEnterpriseLinuxforServer6.0或更高版本
Pentium100及以上档次的PC及其兼容机。
512M以上内存。
(系统安装时,系统运行时128M以上内存)
5000M以上可用硬盘空间。
CD——ROM驱动器。
4.安装与配置
4.1DNS搭建
搭建DNS服务
postfix是通过网络进行收发电子邮件的,先将DNS服务搭建起来。
Linux下架设DNS服务器通常是使用bind程序来实现的。
检查是否安装了DNS服务,使用命令:
rpm–qa|grepbind
图八查看DNS服务缺的包
缺少bind-chroot包,在安装光盘里有bind-chroot包,我们可以进行安装。
图九bind-chroot安装
chroot程序:
它是changeroot的缩写,它可以改变程序运行时所参考的"/"目录位置,即将某个特定的子目录作为程序的虚拟"/"根。
目录程序只在这个虚拟的跟目录具有权限,一旦跳出该目录就无任何权限了。
从而保证了系统的安全。
增加域名解析区域和相关解析记录
使用命令:
vi/etc/named.conf,然后在末尾增加一下内容
图十增加域名正解析区域
使用命令:
vi/var/named/chroot/var/named/.zone
图十一增加域名反解析区域
启动DNS服务,并测试。
启动命令:
servicenamedstart
测试命令:
host
图十二DNS测试
由于是在虚拟机(VirtualBox)下,在主机nslookup解析时,要关闭防火墙。
关闭防火墙
在主机(winXP)解析
验证DNS
4.2postfix安装与配置
4.2.1安装
Postfix安装
Postfix是基于Linux平台的一款开源软件。
随着科学技术的飞速发展,现在的服务器版Linux操作系统都已经自带了Postfix这款软件。
像RedHatEnterpriseLinuxforServer6.0(下文称为RHEL6)操作系统.所以我们的安装环境就以RHEL6操作系统。
需要的软件包(可以在系统光盘,或是系统镜像里获得)。
RHEL6,Postfix,Cyrus-sasl,Dovecot.
Postfix,提供smpt协议,邮件的传输。
Cyrus-sasl提供smtp认证。
Dovecot,提供POP3/IMAP协议,邮件的接收。
RedHatEnterpriseLinux提供了Sendmail和Posfix两种STMP邮件服务软件.
在安装postfix之间要看看Sendmail是否被安装,如果安装了,必须先将Sendmail服务停止。
然后再安装Postfix服务软件。
我们可以使用命令:
netstat-nutlp|grep:
25查看Sendmail是否启动。
图一查看Sendmail是否开启
如果像图中显示,那么就说明Sendmail是没有开启的。
如果开启了,可以用命
chkconfig--listsendmail
chkconfig--level2345sendmailoff将Sendmail进行关闭。
然后重启。
图二关闭Sendmail
这样处理,以后每次的启动系统Sendmail就不会启动了。
下面我们来安装Postfix,首先查用命令:
rpm–qa|greppostfix
rpm–qa|grepsasl
rpm–qa|grepbind
rpm–qa|grepdovecot
查看是否安装了Postfix、Cyrus-sasl、bind、Dovecot。
图三查看Postfix、Cyrus-sasl、Dovecot是否安装
从上图可以看出postfix已经安装了,而其他安装的都不是很全。
将安装光盘加载到光驱,找到需要的包,用命令rpm–ivh包名[--nodeps];进行安装。
图四安装效果
4.2.2配置
配置postfix
第一次启动Postfix之前必须先完成准备工作。
首先是确定系统本身的识别,也就是你的机器在Internet上的完整主机名称,因为Postfix的myhostname配置参数需要设定成这个名称。
只要Postfix知道系统的完整主机名称,它就可以推算出其他重要参数的默认值,例如mydomain。
我们可以用命令:
hostname来查看主机名。
也可以用hostname主机名来命名主机名称。
图五主机名称
Postfix提供了一个专门用来设定参数的命令:
postconf,用此命令直接可以修改配置文件main.cf中的myhostname的参数。
#postconf–emyhostname=
为了方便,我们生成没有注释的main2.cf,然后将main.cf备份成main.cf.bak。
再将main2.cf改成main.cf,我们查看main.cf这样更明了,修改起来也更方便,如果错误也把备份改回来。
图六备份main.cf生成无注释的main.cf
将main.cf文件修改成如图七的形式。
图七main.cf
主要看第9,21~25行。
4.3dovecot配置
Dovecot的安装与postfix大径相同,这里不在重复。
创建运行dovecot用户。
图十三添加dovecot用户
建立dovecot的运行参数。
首先,将配置文件/etc/dovecot/dovecot.conf文件拷贝到/etc目录下。
图十四拷贝dovecot.conf文件
然后在文件最后添加以下代码。
图十五添加的代码
启动Dovecot服务
使用命令:
servicedovecotstart
由于Dovecot使用的是110端口,所以我们监听一下110端口。
Netstat–nutlp|grep110
图十六启动Dovecot
4.4Cyrus-sasl配置
4.4.1Cyrus-sasl安装
如果系统没有Cyrus-sasl自行安装。
4.4.2配置
1.如图将/usr/lib/sasl2/smtpd.conf下的smtpd.conf复制到/usr/lib/sasl2/然后编辑。
复制smtpd.conf
2.修改/etc/postfix/main.cf配置,在后面加上下面的代码
在main.cf后添加代码
3.启动cyrus-sasl
使用servicesaslauthdstart来进行启动。
Cyrus-sasl启动
4.5邮件常用设置
这里的一些常用是在/etc/postfix/main.cf文件中体现的。
只要更改了这里的选项只要重新加载一下postfix服务就可以生效了。
maildrop_checkquota_all:
是否拒接所有邮件
message_size_limit:
限制邮件大小
inet_interfaces:
让postfix服务监听端口
5.测试
5.1启动所有服务
1.servicenamedrestart重启DNS服务
2.servicepostfixrestart重启postfix服务
3.servicedovecotrestart重启dovecot服务
4.servicesaslauthdrestart重启cyrus-sasl服务
使用restart进行重新启动,如果是已经启动了,就在重新启动一次。
在测试前要将防火墙关掉,开启网络服务,连接eth0
关闭防火墙、开启网络服务
在linux下添加用户yang1与yang2。
添加用户
在winXP下用OE进行验证,首先创建一个账户:
yangk。
OE账户
发送邮件
发送邮件
发送成功
接收成功
接收的邮件
6.结论
顺利如期的完成本次论文,给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心。
本次论文给我很多锻炼的机会。
让我考虑问题更加细致、认真。
现在看来,这不仅仅是一篇毕业论文。
更重要的是经过此次论文让我认识到自己还有很多不足。
不论是知识,还是技能。
能够让我在毕业前知道自己有很等的能力。
提高是有限的但提高也是全面的,正是这一次的论文让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力。
参考文献
[1]KyleD.Dent.《Postfix权威指南》.东南大学出版社,2006
[2]张勤.《Linux服务器配置全程实录》.人民邮电出版社,2010
[3]刘兵.《Linux实用教程》.中国水利水电,2004
[4]XX百科.
[5]CSDN论坛.
[6]Chinaunix.
致谢