《第5季Sendmail服务全攻略.docx》由会员分享,可在线阅读,更多相关《第5季Sendmail服务全攻略.docx(46页珍藏版)》请在三一办公上搜索。
1、1.Sendmail服务软件包sendmail-8.13.8-2.el5.i386.rpm:sendmail服务的主程序包,服务器端必须安装该软件包。sendmail-cf-8.13.8-2.el5.i386.rpm:sendmail宏文件包sendmail-devel-8.13.8-2.el5.i386.rpm:sendmail服务器开发工具软件包sendmail-doc-8.13.8-2.el5.i386.rpm:sendmail服务器的说明文档m4-1.4.5-3.el5.1.i386.rpm:宏处理过虑软件包dovecot-1.0-1.2.rc15.el5.i386.rpm:接收邮件软
2、件包,安装时需要注意安装顺序2.Sendmail相关配置文档sendmail.cf:sendmail核心配置文件,位于/etc/mail/sendmail/sendmail.cfsendmail.mc:sendmail提供sendmail文件模板,通过编辑此文件后再使用m4工具将结果导入sendmail.cf完成配置sendmail核心配置文件,降低配置复杂度,位于/etc/mail/sendmail.mclocal-host-name:定义收发邮件服务器的域名和主机别名,位于/etc/mail/local-host-nameaccess.db:用来设置sendmail服务器为哪些主机进行转发
3、邮件,位于/etc/mail/access.dbaliases.db:用来定义邮箱别名,位于/etc/mail/aliases.dbvirtusertable.db:用来设置虚拟账户,位于/etc/mail/virtusertable.db3.邮件功能组件MUA:邮件用户代理(Mail User Agent)MTA:邮件传输代理(Mail Transfer Agent)MDA:邮件递送代理(Mail Delivery Agent)4.Sendmail常规服务器配置搭建Sendmail服务器流程:(1)配置sendmail.mc文件(2)使用m4工具将sendmail.mc文件导入sendmai
4、l.cf文件(3)配置local-host-names文件(4)建立用户帐号(5)重新启动服务使配置生效Sendmail应用案例1:局域网网段:192.168.8.0/24企业域名:DNS及Sendmail服务器地址:192.168.8.1sendmail服务是和DNS服务结合相当紧密的一个服务,所以我们在配置sendmail之前,需要设置并调试好DNS服务器(DNS配置请参考上季RHEL5企业级Linux服务攻略-第4季 DNS服务全攻略),DNS配置中设置MX资源记录指定邮件服务器地址。(1)配置DNS主配置文件named.conf(2)配置区域文件使用MX记录设置邮件服务器,这条记录一定
5、要有,否则Sendmail无法正常工作。(3)配置反向区域文件(4)修改DNS域名解析的配置文件vim /etc/resolv.conf(5)重启named服务使配置生效(6)安装Sendmail软件包RHEL5默认安装sendmail-8.13.8-2.el5及m4-1.4.5-3.el5.1软件包,我们只需要安装sendmail-cf-8.13.8-2.el5宏文件包就可以了。(7)编辑sendmail.mc修改SMTP侦听网段范围配置邮件服务器需要更改IP地址为公司内部网段或者0.0.0.0,这样可以扩大侦听范围(通常都设置成0.0.0.0),否则邮件服务器无法正常发送邮件。vim /e
6、tc/mail/sendmail.mc第116行将smtp侦听范围从127.0.0.1改为0.0.0.0第155行修改成自己域:LOCAL_DOMAIN()dnl使用m4命令生成sendmail.cf文件,其实sendmail.mc即是一个模板文件哈m4 /etc/mail/sendmail.mc /etc/mail/sendmail.cf(8)修改local-host-names文件添加域名及主机名vim /etc/mail/local-host-names (9)安装Dovecot软件包(POP3和IMAP)到这里sendmail服务器基本配置完成后,Mail Server就可以完成邮件发
7、送工作,如果需要使用POP3和IMAP协议接收邮件还需要安装dovecot软件包。在rhel5里dovecot整合了IMAP。安装dovecot软件包要解决其依赖性,安装per-DBI-1.52-1.fc6.i386.rpm和mysql-5.0.22-2.1.0.1.i386.rpm (10)启动Sendmail服务 service sendmail restart和service dovecot restart命令启动sendmail和dovecot服务,如果每次开机启动,可以使用chkconfig命令修改。(11)测试端口使用netstat命令测试是否开启SMTP的25端口、POP3的11
8、0端口及IMAP的143端口。也可以使用netstat -ntla(12)验证Sendmail的SMTP认证功能telnet localhost 25 后输入ehlo localhost验证Sendmail的SMTP认证功能telnet localhost 110telnet 25telnet 110(13)建立用户(14)客户端测试 Sendmail应用案例2:公司采用两个网段和两个域来分别管理内部员工域采用192.168.10.0/24网段域采用192.168.20.0/24网段DNS及Sendmail服务器地址:192.168.8.1要求:(1)员工可以自由收发内部邮件并且能够通过邮件服
9、务器往外网发信。(2)设置两个邮件群组team1和team2,确保发送给team1的邮件“”域成员都可以收到,同理哈,发送给team2的邮件“”域成员都可以收到。(3)禁止待客室的主机192.168.10.88使用Sendmail服务器。需求分析:要求(1)中设置员工自由收发内部邮件可以参考Sendmail应用案例1去设置哈,如果需要邮件服务器把邮件发到外网需要设置access文件。要求(2)需要别名设置来实现群发功能。要求(3)需要在access文件中拒绝(REJECT)192.168.10.88因实验原因:由senmail邮件服务器代替路由器功能哈配置实战:(1)配置DNS服务配置DNS主
10、配置文件named.conf配置.zone区域文件 配置8.168.192.in-addr.arpa.zone反向区域文件配置.zone区域文件配置10.168.192.in-addr.arpa.zone反向区域文件配置.zone区域文件配置20.168.192.in-addr.arpa.zone反向区域文件(2)修改DNS域名解析的配置文件vim /etc/resolv.conf(3)重启named服务使配置生效(4)安装Sendmail软件包RHEL5默认安装sendmail-8.13.8-2.el5及m4-1.4.5-3.el5.1软件包,我们只需要安装sendmail-cf-8.13.
11、8-2.el5宏文件包就可以了。(5)编辑sendmail.mc修改SMTP侦听网段范围配置邮件服务器需要更改IP地址为公司内部网段或者0.0.0.0,这样可以扩大侦听范围(通常都设置成0.0.0.0),否则邮件服务器无法正常发送邮件。vim /etc/mail/sendmail.mc第116行将smtp侦听范围从127.0.0.1改为0.0.0.0第155行修改成自己域:LOCAL_DOMAIN()dnl使用m4命令生成sendmail.cf文件,其实sendmail.mc即是一个模板文件哈m4 /etc/mail/sendmail.mc /etc/mail/sendmail.cf(6)修改
12、local-host-names文件添加域名及主机名vim /etc/mail/local-host-names(7)群发邮件设置vim /etc/aliasesaliases文件语法格式:真实用户帐号:别名1,别名2使用newaliases命令生成aliases.db数据库文件(8)配置访问控制的access文件在RHEL5中,默认Sendmail服务器所在的主机的用户可以任意发送邮件,而不需要任何身份验证,即注意/etc/mail/access文件中有一行Connect: 127.0.0.1 RELAY生成access数据库文件makemap hash access.db access (
13、9)安装Dovecot软件包(POP3和IMAP)到这里sendmail服务器基本配置完成后,Mail Server就可以完成邮件发送工作,如果需要使用POP3和IMAP协议接收邮件还需要安装dovecot软件包。在rhel5里dovecot整合了IMAP。安装dovecot软件包要解决其依赖性,安装per-DBI-1.52-1.fc6.i386.rpm和mysql-5.0.22-2.1.0.1.i386.rpm (10)启动Sendmail服务 service sendmail restart和service dovecot restart命令启动sendmail和dovecot服务,如果每
14、次开机启动,可以使用chkconfig命令修改。(11)测试端口使用netstat -ntla命令测试是否开启SMTP的25端口、POP3的110端口及IMAP的143端口。(12)建立用户(13)客户端测试192.168.8.0/24网段测试 群发测试 192.168.10.0/24网段测试在服务器端可以看到team1组成员邮箱已经收到192.168.8.0/24网段中michael用户发的邮件。下面我们在192.168.10.0/24网段接收测试下 正常接收群发邮件下面由区域向用户成员群发邮件成功发送下面team2成员用户应该收到两个封邮件 192.168.20.0/24网段测试服务器端状
15、态:客户端状态:待客室主机192.168.10.88测试最后我们测试禁止待客室的主机192.168.10.88使用Sendmail服务器192.168.10.88主机不能使用Sendmail邮件功能将受限的IP地址192.168.10.88换成其他不受限制的IP地址就可以将这原本不能发送的邮件发送出去了#华丽分割线#本季讲解了RHEL5企业级Linux服务攻略-第5季 Sendmail服务全攻略之常规配置,下季更新RHEL5企业级Linux服务攻略-第5季 Sendmail服务全攻略之高级配置哈,敬请期待哈0(-)0#华丽分割线#上面是常规配置。下面是高级配置:企业环境公司邮件服务器,统一为员
16、工设置企业邮箱,公司业务以销售为主,员工数量为300人并办公地点不固定。员工收发邮件一般较小,大部分为产品信息及销售报表。为了减少邮件服务器负荷,提高邮件传输效率,需要有效拒绝垃圾邮件。邮件服务器域名:邮件服务器IP地址:192.168.8.1需求分析根据企业情况,搭建邮件服务器的需求有以下两点:1.减少成本公司员工数量较多,会占用邮件服务器大量的磁盘空间,如果不对用户邮箱容量加以解决限制,可能会随着邮件数量的增加,导致服务器存储空间不足而扩展磁盘容量,所以我们需要对邮箱进行磁盘配额限制哈2.拒绝垃圾邮件处理垃圾邮件会增加服务器的负担,占用邮件服务器的硬件资源,造成正常响应的延迟。而企业员工会
17、经常出差,办公地点不固定,无法使用access数据库做相应的筛选,只能通过邮件的认证机制防止垃圾邮件滥用服务器资源。解决方案1.配置DNS服务器(1)配置DNS主配置文件named.confvim /etc/named.conf(2)配置.zone区域正向解析文件(3)配置8.168.192.in-addr.arpa.zone区域反向解析文件(4)重启named服务使配置生效2.修改local-host-names文件vim /etc/mail/local-host-names3.配置sendmail.cf确保sasl库已经安装编辑sendmail.mc配置文件(1)开启sendmai认证互联
18、网上运行的邮件服务器,必须开启中继功能才能完成外部邮件的转发哈,但是如果不加以限制,则会使非法用户有机会执行各种操作,如使用服务器发送垃圾邮件,甚至会被其他邮件服务器屏蔽哈,这样偶们滴邮件服务器就无法向外部转发邮件,我们可以添加邮件的认证机制,通过验证邮件使用者的帐号和密码,能够有效拒绝非法用户使用邮件服务器中继功能哈去掉以下三行的dnl字段开启sendmail认证功能52行 TRUST_AUTH_MECH(EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl53行 define(confAUTH_MECHANISMS, EXTERNAL GSSAPI DI
19、GEST-MD5 CRAM-MD5 LOGIN PLAIN)dnl123行 DAEMON_OPTIONS(Port=submission, Name=MSA, M=Ea)dnlTRUST_AUTH_MECH的作用是使sendmail不管access文件中如何设置都能relay那些通过LOGIN、PLAIN或DIGEST-MD5方式验证的邮件。confAUTH_MECHANISMS的作用是确定系统的认证方式。Port=submission, Name=MSA, M=Ea的作用是开启认证,并以子进程运行MSA实现邮件的账户和密码的验证。注意:FEATURE要加在MAILER语句前面,否则可能造成邮
20、件服务器运行错误哈(2)设置用户用户邮件的大小限制在sendmail.mc中没有这个选项,这个要在sendmail.cf中设置哈vim /etc/mail/sendmail.cf默认不限制:# maximum message size #O MaxMessageSize=0我们可以设置成邮件最大不超过20MB# maximum message size O MaxMessageSize=20971520意思为每次收发邮件最大为20MB,任何超过这个值的邮件将被拒绝。(3)设置本地邮箱的域名LOCAL_DOMAIN()dnl(4)使用m4生成新的sendmail.cf文件4.配置磁盘配额(1)修
21、改fstab文件为了方便管理哈,将用户的邮件信息存放在/var/mail目录中,建议将/var划分到独立的分区,这样我们才能对/var文件系统添加磁盘配额功能,参考RHEL5企业级Linux服务攻略-第1季 Linux服务器的搭建与测试。vim /etc/fstab添加/var文件系统参数LABEL=/var /var ext3 defaults,usrquota,grpquota 1 2usrquota为用户的配额参数,grpquota为组的配额参数修改/etc/fstab文件后保存退出,重启系统,使系统按照新的参数挂载文件系统。参考RHCE课程-RH131Linux管理笔记六-Linux文
22、件系统管理、挂载及sudo设置与使用重启过程中,因为缺失配额文件,所以操作系统在装载文件系统时会报错,通过下面创建配额文件工作后将会消除错误。(2)创建配额文件因为存放邮件信息的/var目录在独立的分区哈所以我们使用quotachek命令在/var目录下分别为用户和组创建配额文件quotacheck -cugm /var(3)设置磁盘配额为用户和组设置详细的配额限制,我们可以使用edquota命令进行磁盘配额的设置哈edquota命令格式:edquota -u 用户名edquota -g 组名比如为用户michael配置磁盘配额限制,执行edquota命令,打开用户配额配置文件edquota
23、-u michaelFilesystem:文件系统的名称blocks:用户当前使用的块数(磁盘空间),单位为KBsoft:可以使用的最大磁盘空间,可以在一段时期内被超过软限制规定hard:可以使用的磁盘空间的绝对最大值,达到了该限制后,操作系统将不再为用户或组分配磁盘空间inodes:用户当前使用的inode节点数量(文件数)soft:可以使用的最大文件数。可以在一段时期内被超过软限制规定hard:可以使用的文件数的绝对最大值。达到该限制后,用户或组将不能再建立文件设置磁盘空间或者文件数限制,需要修改对应的soft、hard值,而不要修改blocks和inodes值哈根据当前磁盘的使用状态,操
24、作系统会自动设置这两个字段的值。注意:如果soft或者hard值被设置为0则表示没有限制哈比如对用户michael将磁盘空间硬限制设置为200MB(4)使磁盘配额生效命令:quotaon -augv 目录名参数: -a 开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。 -g 开启群组的磁盘空间限制。 -u 开启用户的磁盘空间限制。 -v 显示指令指令执行过程。quotaon -av注意:磁盘配额对root用户没有效果,并且磁盘配额设置的参数要比现有的数量要大,如分区大小要比现使用空间要大,文件数要比现有文件数要大。(5)查看磁盘配额状态repquota -a注意:OK,
25、如果企业员工较多,那么像这样一个个为每个员工单独配置磁盘配额将会增加我们管理的难度哈这里我们可以建立一个样简单的脚本,将所有用户的磁盘空间科学硬限制为200MB哈在/etc/mail/目录下创建一个quota.sh磁盘配额脚本文件vim /etc/mail/quota.shquota.sh脚本内容:#!/bin/bash for i in michael redhat michaelwang client1 client2 client3 clienta clientb clientc do setquota -u $i 0 200000 0 0 /var donefor循环语句in后面跟需要
26、进行磁盘配额的用户名setquota能够在命令行下直接进行磁盘配额限制,格式如下哈setquota -u 用户 block软限制 block硬限制 inode软限制 inode硬限制因为需要将用户使用的磁盘空间限制为200MB,所以只需要更改block硬限制就可以了哈我们可以使用 . /etc/mail/quota.sh执行此脚本哈执行quotaoff -av后执行quotaon -av使设置的磁盘配额生效5.配置dovecot确认已经安装了dovecot RPM包哈安装完dovecot软件包后,默认情况下,POP3和IMAP就可以正常工作,能够接收客户端的接受邮件请求哈,但是为了保证客户端能
27、够使用加密的形式接受邮件,还需要为dovecot添加相应的密钥和证书,启动POP3S或者IMAPS的支持哈这时Mail服务器必须生成相应的密钥和证书才能正常工作哈(1)生成私钥和自签名证书Mail服务器会使用私钥加密邮件,客户端在收取邮件时,则使用Mail服务器证书中的公钥对邮件进行解密,这样才能正常读取邮件哈,/etc/pki/tls/certs/Makefile文件保存着生成密钥和证书的脚本设置,这里使用make命令制作dovecot.pem文件,其保存邮件服务器的私钥和公钥信息。make -C /etc/pki/tls/certs/ dovecot.pem生成证书时,按要求依次填写国家、
28、省份、城市等等信息哈(2)修改dovecot.conf配置文件vim /etc/dovecot.conf查询dovecot使用的密钥和证书的位置 修改dovecot.conf配置信息中密钥和证书的位置指向我们刚刚生成的dovecot.pem (3)重启sendmail、dovecot、saslauthd服务(4)查看端口状态netstat -tupln 6.测试(1)服务器状态eth1网卡192.168.5.110当路由器用哈我不知道在vmware中怎么模拟路由器,汗哪位大哥如果会的话,教一下偶哈(2)客户端测试网段:192.168.5.0/24发个邮件测试下哈接收测试邮件测试发送20MB邮件
29、20MB邮件发送成功client3邮箱状态测试发送超出20MB限制的邮件提示超出邮件限制大小,OK,成功最后我们测试邮箱用户的磁盘配额设置哈,现在client3用户的邮件中差不多有196MB邮件容量,限额是200MB哈下面我们测试如果再发个10MB的邮件,这样就超出200MB限额了,看下能否发送成功哈在michael用户端显示成功发送哈如果所发邮件超出收件人磁盘配额限额哈,发件人会收到一封系统退信哈提示:procmail: Quota exceeded while writing /var/mail/client3这时,收件人必须接收完邮件服务器上的邮件或由管理员增加到使用空间的限额后才能正常接收邮件哈#Michael分割线#谨以此博文庆祝blog成为blog star,献给关注、支持本blog的网友哈谢谢大家的支持、留言及回复,大家也可以将自己研究及配置的实验方案提供一下,大家一起研究交流一下,共同进步哈下季内容RHEL5企业级Linux服务攻略-第6季 vsftpd服务全攻略之常规配置,敬请期待#Michael分割线#
链接地址:https://www.31ppt.com/p-2029814.html