


目 录摘 要 1前言 21. 概述 21.1 课题背景 21.2 安装概述 21.3 配置概述 22. 电子邮件与postfix简介 22.1 电子邮件简介 22.2 postfxi 简介 32.2.1 Postfix简介 32.2.2 Postfix获得 43. 需求分析 43.1 课题分析 43.2 系统分析 54. 安装与配置 54.1 DNS搭建 54.2 postfix 安装与配置 74.2.1 安装 74.2.2 配置 84.3 dovecot配置 84.4 Cyrus-sasl配置 94.4.1 Cyrus-sasl 安装 94.4.2 配置 94.5 邮件常用设置 105.测试 105.1启动所有服务 106.结论 13参考文献 14致 谢 15i基于linux邮件服务器的配置与管理基于linux邮件服务器的配置与管理摘 要postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件下面一段话摘自postfix的官方站点(http://www.postfix.org):“postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。
在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件这真实一个让人吃惊的数字Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性关键词: postfix;电子邮件;DNS;linux;安全Abstractpostfix Wietse Venema is an agreement under the GPL in IBM's development of the MTA (Mail Transport Agent) software. The following passage is taken from the official site postfix (http://www.postfix.org): "postfix is Wietse Venema want to provide the most widely used sendmail alternatives a try. In the Internet world, most of the e-mail To delivery through sendmail, about 100 million users to use sendmail, deliver hundreds of millions of emails every day. This is true of a surprising number. Postfix attempts to faster, more manageable, more secure, while also keeping with the sendmail Compatible enough. "Key words: 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的强大在于它的字符界面,占用资源少,安全这样又面临着另一个问题,不能很好的截取我们想要的图片所以我们的环境是在windows XP下安装virtual box虚拟机软件在虚拟机下安装RHEL6在这里进行一系列安装1.3 配置概述安装的软件在安装光盘都有,需要时只需挂载光盘,将其安装所有的安装都在字符界面下完成,对于初学者有些难度2. 电子邮件与postfix简介2.1 电子邮件简介电子邮件(electronic mail,简称E-mail,标志:@,也被大家昵称为“伊妹儿”)又称电子信箱、电子邮政,它是—种用电子手段提供信息交换的通信方式是Internet应用最广的服务:通过网络的电子邮件系统,用户可以用非常低廉的价格(不管发送到哪里,都只需负担电话费和网费即可),以非常快速的方式(几秒钟之内可以发送到世界上任何你指定的目的地),与世界上任何一个角落的网络用户联系,这些电子邮件可以是文字、图像、声音等各种方式。
同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索这是任何传统的方式也无法相比的正是由于电子邮件的使用简易、投递迅速、收费低廉,易于保存、全球畅通无阻,使得电子邮件被广泛地应用,它使人们的交流方式得到了极大的改变另外,电子邮件还可以进行一对多的邮件传递,同一邮件可以一次发送给许多人最重要的是,电子邮件是整个网间网以至所有其他网络系统中直接面向人与人之间信息交流的系统,它的数据发送方和接收方都是人,所以极大地满足了大量存在的人与人通信的需求电子邮件指用电子手段传送信件、单据、资料等信息的通信方法电子邮件综合了电话通信和邮政信件的特点,它传送信息的速度和电话一样快,又能象信件一样使收信者在接收端收到文字记录电子邮件系统又称基于计算机的邮件报文系统它承担从邮件进入系统到邮件到达目的地为止的全部处理过程电子邮件不仅可利用电话网络,而且可利用任何通信网传送在利用电话网络时,还可利用其非高峰期间传送信息,这对于商业邮件具有特殊价值由中央计算机和小型计算机控制的面向有限用户的电子系统可以看作是一种计算机会议系统电子邮件的工作过程遵循客户-服务器模式每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。
发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件2.2 postfxi 简介2.2.1 Postfix简介postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件下面一段话摘自postfix的官方站点(http://www.postfix.org):“postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件这真实一个让人吃惊的数字Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性Postfix的起源与设计思想Postfix的开发者是Wietse Venema,荷兰人,程序员和物理学家。
他的论文在业内很有名1998年12月,他决定让Postfix正式成为开源软件(open source) IBM研究中心为最初版本提供赞助,并不断的支持其发展(IBM称此软件为source mailer)可靠性、安全性、效率、灵活性、容易使用、兼容于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.2 Postfix获得可以在The Postfix Home Page(Postfix目录结构/etc/postfix 默认的安装目录,配置文件都在此目录下/usr/libexec/postfix Postfix各个服务程序的目录/var/spool/postfix 队列文件/usr/sbin Postfix工具程序3. 需求分析3.1 课题分析 电子邮件很长时间以来一直被人们当成是互联网的“杀手应用”全球每一天发送的电子邮件数量预计为大约12万亿封而且这个数字每一天都在增长 整个电子邮件服务器市场继续增长,并且将大体上分为Unix/linux式的平台和Windows平台两大类在Linux、Solaris和BSD等Unix式的平台领域,老牌的sendmail继续占统治地位比较新的竞争对手exim和postfix占据了剩余的领地所有这三种软件都是非常灵活的、开放的邮件服务器拥有充分的管理员知识的用户能够使用这些邮件服务器软件满足各种各样的电子邮件管理需求。
虽然Windows领域有种类繁多的邮件服务器许可证的收费价格也千差万别,少则几百美元,多则数千至数万美元而Unix/linux邮件服务器一般都是免费的软件,相比之下更安全,只是,Unix/linux学习起来难度较大对于掌握postfix邮件服务的配置与管理,是对Unix/linux服务器深入了解掌握关键组成部分3.2 系统分析RedHat Enterprise Linux for Server 6.0或更高版本Pentium100及以上档次的PC及其兼容机512M以上内存系统安装时,系统运行时128M以上内存)5000M以上可用硬盘空间CD——ROM驱动器4. 安装与配置4.1 DNS搭建搭建DNS服务postfix是通过网络进行收发电子邮件的,先将DNS服务搭建起来Linux下架设DNS服务器通常是使用bind程序来实现的检查是否安装了DNS服务,使用命令:rpm –qa|grep bind;如图1-1.图1-1 查看DNS服务缺的包缺少bind-chroot包,在安装光盘里有bind-chroot包,我们可以进行安装如图1-2.图1-2 bind-chroot安装chroot程序:它是change root的缩写,它可以改变程序运行时所参考的"/"目录位置,即将某个特定的子目录作为程序的虚拟"/"根。
目录程序只在这个虚拟的跟目录具有权限,一旦跳出该目录就无任何权限了从而保证了系统的安全增加域名解析区域和相关解析记录使用命令:vi /etc/named.conf,然后在末尾增加一下内容,如图1-3.图1-3 增加域名正解析区域使用命令:vi /var/named/chroot/var/named/.zone,如图1-4图1-4 增加域名反解析区域启动DNS服务,并测试启动命令:service named start测试命令:host如图1-5图1-5 DNS测试由于是在虚拟机(VirtualBox)下,在主机nslookup解析时,要关闭防火墙如图1-6图1-6 关闭防火墙在主机(winXP)解析如图1-7图1-7 DNS4.2 postfix 安装与配置4.2.1 安装Postfix安装Postfix是基于Linux平台的一款开源软件随着科学技术的飞速发展,现在的服务器版Linux操作系统都已经自带了Postfix这款软件像RedHat Enterprise Linux for Server 6.0(下文称为RHEL6)操作系统.所以我们的安装环境就以RHEL6操作系统需要的软件包(可以在系统光盘,或是系统镜像里获得)。
RHEL6,Postfix,Cyrus-sasl,Dovecot.Postfix,提供smpt协议,邮件的传输Cyrus-sasl提供smtp认证Dovecot,提供POP3/IMAP协议,邮件的接收Red Hat Enterprise Linux提供了Sendmail和Posfix两种STMP邮件服务软件.在安装postfix之间要看看Sendmail是否被安装,如果安装了,必须先将Sendmail服务停止然后再安装Postfix服务软件我们可以使用命令:netstat -nutlp | grep :25查看Sendmail是否启动如图1-8图1-8 查看Sendmail是否开启如果像图中显示,那么就说明Sendmail是没有开启的如果开启了,可以用命chkconfig --list sendmail chkconfig --level 2345 sendmail off将Sendmail进行关闭然后重启如图1-9.图1-9 关闭Sendmail这样处理,以后每次的启动系统Sendmail就不会启动了下面我们来安装Postfix,首先查用命令:rpm –qa | grep postfix查看是否安装了Postfix。
如图1-10图1-10 查看Postfix是否安装从上图可以看出postfix已经安装了如果没有安装,先将安装光盘加载到光驱,找到需要的包,用命令 rpm –ivh 包名 [--nodeps];进行安装如图1-11图1-11 安装效果4.2.2 配置配置postfix第一次启动Postfix之前必须先完成准备工作首先是确定系统本身的识别, 也就是你的机器在Internet上的完整主机名称,因为Postfix的myhostname配置参数需要设定成这个名称只要Postfix知道系统的完整主机名称,它就可以推算出其他重要参数的默认值,例如mydomain我们可以用命令:hostname来查看主机名也可以用hostname 主机名 来命名主机名称如图1-12图1-12 主机名称Postfix提供了一个专门用来设定参数的命令:postconf,用此命令可以将postfix的配置文件生成无注释的文件方法为:先生成无注释的main2.cf,然后将main.cf备份成main.cf.bak再将main2.cf改成main.cf,我们查看main.cf这样更明了,修改起来也更方便,如果错误也把备份改回来。
如图1-13图1-13 备份main.cf生成无注释的main.cf然后将main.cf文件修改成如图七的形式如图1-14.图1-14 main.cf主要看第9,21~25行这样,postfix基本上是可以运行了,稍后还会对main.cf进行配置4.3 dovecot配置Dovecot的安装与postfix大径相同,这里不在重复创建运行dovecot用户如图1-15图1-15 添加dovecot用户建立dovecot的运行参数首先,将配置文件/etc/dovecot/dovecot.conf文件拷贝到/etc目录下如图1-16图1-16 拷贝dovecot.conf文件然后在文件最后添加以下代码如图1-17图1-17 添加的代码启动Dovecot服务使用命令:service dovecot start由于Dovecot使用的是110端口,所以我们监听一下110端口Netstat –nutlp |grep 110. 如图1-18图1-18 启动Dovecot4.4 Cyrus-sasl配置4.4.1 Cyrus-sasl 安装如果系统没有Cyrus-sasl自行安装4.4.2 配置 1.如图1-19将/usr/lib/sasl2/smtpd.conf 下的smtpd.conf复制到 /usr/lib/sasl2/然后编辑。
图1-19 复制 smtpd.conf2.修改/etc/postfix/main.cf配置,在后面加上下面的代码如图1-20图1-20 在main.cf后添加代码3.启动cyrus-sasl使用service saslauthd start来进行启动 如图1-21图1-21 Cyrus-sasl 启动4.5 邮件常用设置这里的一些常用是在/etc/postfix/main.cf文件中体现的只要更改了这里的选项只要重新加载一下postfix服务就可以生效了maildrop_checkquota_all:是否拒接所有邮件message_size_limit:限制邮件大小inet_interfaces:让postfix服务监听端口5.测试5.1启动所有服务 1. service named restart 重启DNS服务 2. service postfix restart 重启postfix服务 3. service dovecot restart 重启dovecot服务 4. service saslauthd restart 重启cyrus-sasl服务使用restart进行重新启动,如果是已经启动了,就在重新启动一次。
在测试前要将防火墙关掉,开启网络服务,连接eth0如图1-22.图1-22关闭防火墙、开启网络服务在linux下添加用户yangk图1-23.图1-23 添加用户在winXP下用OE进行验证,首先创建一个账户:yangk如图1-24.图1-24 OE账户发送邮件如图1-25.图1-25 发送邮件如果成功会出现如图1-26图1-26 发送成功接收邮件如图1-27图1-27 接收成功在收件箱里会有新邮件,双击查看如图1-28图1-28 接收的邮件6.结论顺利如期的完成本次论文,给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心本次论文给我很多锻炼的机会让我考虑问题更加细致、认真现在看来,这不仅仅是一篇毕业论文更重要的是经过此次论文让我认识到自己还有很多不足不论是知识,还是技能能够让我在毕业前知道自己有很等的能力提高是有限的但提高也是全面的,正是这一次的论文让我积累了无数实际经验,使我的头脑更好的被知识武装了起来,也必然会让我在未来的工作学习中表现出更高的应变能力,更强的沟通力和理解力参考文献[1] Kyle D.Dent.《Postfix权威指南》. 东南大学出版社,2006 [2] 张勤.《Linux服务器配置全程实录》.人民邮电出版社,2010[3] 刘兵.《Linux实用教程》.中国水利水电,2004[4] 百度百科. [5] CSDN论坛. [6] Chinaunix .致 谢在这次课程设计中,我首先要感谢的是我的指导老师,为我们提供了很多有用的资料。
此次课程设计涉及的知识面很广,有许多都是我没学过的,仅凭我平时所学的知识是不够的,是很难完成的在这里我要感谢老师,提供给我很多参考资料同时要感谢理工学院,为我们提供了配置先进的机房,并且安装了我们设计所需的应用软件,为我们提供了很好的设计环境,给我们提供了方便,当我们遇到困难时,还可以上网查寻同时,要感谢院里为我们安排这次的论文设计,为我们今后的学习和工作打下了基础,积累有效的linux应用实战经验当然,要特别感谢我们的指导老师,感谢他们在设计过程对我们认真讲解,帮助我们解决问题,也要感谢给我很多帮助的同学们,每当我遇到问题时他们都会仔细分析给我听,帮助我解决问题,在他们的帮助下,我才能顺利地完成这次课程设计 第15页。