1 . 项目课题引入

53

Upload: lewis-chase

Post on 30-Dec-2015

59 views

Category:

Documents


6 download

DESCRIPTION

1 . 项目课题引入. 2 . 电子邮件服务工作原理. 3 . S endmail 服务器配置. 4 . POP3 服务器配置. 5 . WebMail 服务器配置. 6 . 现场演示案例. 课题引入 -- 项目背景 项目背景: 某局域网内要求配置一台 Sendmail 邮件服务器。该邮件服务器的 IP 地址为 192.168.1.2 ,负责投递的域为 jyg.com 。该局域网内部的 DNS 服务器为 192.168.0.9 ,该 DNS 服务器负责 jyg.com 域的域名解析工作。 企业需求: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 1 . 项目课题引入
Page 2: 1 . 项目课题引入

1. 项目课题引入

2. 电子邮件服务工作原理

4. POP3 服务器配置

5. WebMail 服务器配置

6. 现场演示案例

3. Sendmail 服务器配置

Page 3: 1 . 项目课题引入

课题引入 -- 项目背景 项目背景: 某局域网内要求配置一台 Sendmail 邮件服务器。该邮件服务器的 I

P 地址为 192.168.1.2 ,负责投递的域为 jyg.com 。该局域网内部的 D

NS 服务器为 192.168.0.9 ,该 DNS 服务器负责 jyg.com 域的域名解析工作。

企业需求: 1. 要求通过配置该邮件服务器可以实现用户 user1 利用邮箱帐号 us

[email protected] 给邮箱帐号为 [email protected] 的用户 user 发送邮件。

2. 为 163.com 域和 192.168.1.0/24 网段进行邮件中继。

3. 拒绝为邮件地址为 [email protected] 的用户进行邮件中继,但不给出错误提示信息。

4. 拒绝为 IP 地址为 192.168.2.1 的计算机进行邮件中继,给出“ so

rry , try again later” 的错误提示信息。

Page 4: 1 . 项目课题引入

项目分析本项目对应的工作任务:

1. 企业 SMTP 服务器的配置2. 企业 POP3 服务器的配置3. 企业 Webmail 的配置4. 企业 DNS 服务器的配置5. 上述各种服务器的故障检测与排除

Page 5: 1 . 项目课题引入

项目分析完成职业任务需要的专业知识:

1. 邮件服务工作原理2.Sendmail 服务器的配置3.POP3 服务器的配置与管理4.Webmail 服务器的配置与管理5. 邮件服务器客户端配置6. 邮件服务器的故障检测与排除

Page 6: 1 . 项目课题引入

教学目标

1. 邮件服务的工作原理 ( 理解 )

2.Sendmail 服务器的配置(重点掌握)

3.POP3 服务器的配置(掌握)

4.Webmail 服务器的配置(掌握)

5. 邮件服务客户端的配置(熟练应用)

Page 7: 1 . 项目课题引入

应达到的职业能力

1. 能熟练配置 Sendmail 邮件服务器

2. 能熟练配置与管理 POP3 服务器

3. 能熟练配置与管理 Webmail

4. 能熟练完成邮件服务的故障检测与排除

Page 8: 1 . 项目课题引入

1. 电子邮件服务概述

2. 电子邮件系统的组成

3. 电子邮件传输过程

项目问题 1 - 电子邮件服务工作原理

4. 与电子邮件相关的协议

Page 9: 1 . 项目课题引入

电子邮件地址使用如下格式:[email protected]

在 RHEL4 中,用户邮箱文件为:

/var/spool/mail/username

一封电子邮件有两部分组成:头部( head ):包括发送方、接收方、发送日期、邮件主题等。

正文( body ):要发送的消息内容。

电子邮件服务概述

Page 10: 1 . 项目课题引入

Linux 系统中的电子邮件系统通常包括三个组件: 邮件用户代理( MUA , Mail User Agent ):电子邮件系统的客户端程序。主

要负责邮件的发送和接收以及邮件的撰写、阅读等工作。

目前主流的邮件用户代理软件 Outlook 、 Foxmail 、 mail 、 pine 、 Evolution

等。

邮件传送代理( MTA , Mail Transfer Agent ):电子邮件系统的服务器端程序,主要负责邮件的存储和转发。

目前主流的邮件用户代理软件: Exchange 、 sendmail 、 qmail 和 postfix 等。

邮件投递代理( MDA , Mail Dilivery Agent ): MDA 有时也称为 LDA ( Loc

al Dilivery Agent ,本地投递代理)。 MTA 把邮件投递到邮件接收者所在的邮件服务器, MDA 则负责把邮件按照接收者的用户名投递到邮箱中。

电子邮件系统的组成

Page 11: 1 . 项目课题引入

邮件发送的基本过程 :( 1 )邮件用户在客户机使用 MUA 撰写邮件,并将写好的邮件提交给本地 MTA

上的缓冲区。( 2 ) MTA 每隔一定时间发送一次缓冲区中的邮件队列。 MTA 根据邮件的接收

者地址,使用 DNS 服务器的 MX (邮件交换器资源记录)解析邮件地址的域名部分,从而决定将邮件投递到哪一个目标主机。

( 3 )目标主机上的 MTA 收到邮件以后,根据邮件地址中的用户名部分判断用户的邮箱,并使用 MDA 将邮件投递到该用户的邮箱中。

( 4 )该邮件的接收者可以使用常用的 MUA 软件登录邮箱,查阅新邮件,并根据自己的需要作相应的处理。

电子邮件传输过程

Page 12: 1 . 项目课题引入

SMTP ( Simple Mail Transfer Protocol )协议 :电子邮件在网络上 MTA 之间传输,使用的应用层协议为简单邮件传输协议( SMTP )。该协议默认在 TCP 25 端口上工作 。

POP3 ( Post Office Protocol 3 )协议 :邮局协议第 3 版,负责把用户的电子邮件信息从邮件服务器传递到用户的计算机上。该协议默认工作在 TCP 110 端口上。

IMAP4 ( Internet Message Access Protocol 4 )协议 :Internet 信息访问协议的第 4 个版本)能够在线阅读邮件信息而不将邮件下载到本地 。该协议默认工作在 TCP 143 端口上。

电子邮件相关协议

Page 13: 1 . 项目课题引入

1. Sendmail 服务的安装与启动

2. 相关配置文件

3. 配置基本的 Sendmail 服务器

项目问题 2 - Sendmail 服务器配置

4. 邮件中继和 SMTP 验证

5. 设置用户别名

6. 设置虚拟域用户

Page 14: 1 . 项目课题引入

1 、 sendmail 服务安装所需要的软件包: sendmail-8.13.1-2.i386.rpm : sendmail 服务端软件,在第 2 张安装光盘上。 sendmail-cf-8.13.1-2.i386.rpm :与 sendmail 相关的服务器端配置文件和程序,

在第 4 张安装光盘上。 sendmail-doc-8.13.1-2.i386.rpm : sendmail 服务器端的文档,在第 4 张安装

光盘上。 sendmail-devel-8.13.1-2.i386.rpm : sendmail 开发库文档,在第 4 张安装光

盘上。 m4-1.4.1-16.i386.rpm : GNU 宏处理器, sendmail 服务使用该程序转换宏文

件,在第 2 张安装光盘上。

Sendmail 服务的安装与启动

Page 15: 1 . 项目课题引入

2 、 sendmail 服务的启动:

3 、 sendmail 服务的停止:

Sendmail 服务的安装与启动

Page 16: 1 . 项目课题引入

1 、 sendmail 服务的主要配置文件/etc/mail/sendmail.cf : sendmail 服务的主配置文件。/etc/mail/sendmail.mc : sendmail 服务的宏文件。/etc/mail/local-host-names :用于设置服务器所负责投递的

域。/etc/mail/access.db :数据库文件,用于实现中继代理。/etc/aliases :用于定义 sendmail 邮箱别名。/etc/mail/virtusertable.db :用于定义虚拟用户和域的数据库

文件。

相关配置文件

Page 17: 1 . 项目课题引入

2 、 sendmail 服务的主配置文件 sendmail 的主配置文件 sendmail.cf 控制着 sendm

ail 的所有行为,但使用了大量的宏代码进行配置。通常利用宏文件 sendmail.mc 生成 sendmail.cf 。

相关配置文件

Page 18: 1 . 项目课题引入

修改 sendmail.mc 文件以监听正确的网络接口:

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

将 sendmail.mc 文件编译为 sendmail.cf文件 :

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

添加DNS 的 MX记录。 为转发邮件到其他邮件服务器,应该修改 access 文件或启

用 smtp验证功能 。

配置基本的 Sendmail 服务器

Page 19: 1 . 项目课题引入

【例 1】某局域网内要求配置一台 sendmail

邮件服务器。该邮件服务器的 IP 地址为 192.168.1.

2 ,负责投递的域为 jyg.com 。该局域网内部的 DN

S 服务器为 192.168.0.9 ,该 DNS 服务器负责 jyg.c

om 域的域名解析工作。要求通过配置该邮件服务器可以实现用户 user1 利用邮箱帐号 [email protected]

m 给邮箱帐号为 [email protected] 的用户 user 发送邮件。

配置基本的 Sendmail 服务器

Page 20: 1 . 项目课题引入

( 1 )修改 /etc/mail/sendmail.mc 文件,使得 sendmail 可以在正确的网络端口监听服务请求。

找到行:DAEMON_OPTIONS ( `Port=smtp,Addr=127.0.0.1, Name=MTA' ) dnl

修改为: DAEMON_OPTIONS ( `Port=smtp,Addr=192.168.1.2, Name=MTA' ) dnl

配置基本的 Sendmail 服务器

Page 21: 1 . 项目课题引入

( 2 )利用 m4 宏编译工具将 sendmail.mc 文件编译生成新的 se

ndmail.cf 文件。 # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

( 3 )修改 /etc/mail/local-host-names 文件,设置本地邮件服务器所投递的域。

# vi /etc/mail/local-host-names

添加行: jyg.com

配置基本的 Sendmail 服务器

Page 22: 1 . 项目课题引入

( 4 )利用 useradd命令添加 user1 和 user 帐号,并设置帐号密码。

[root@RHEL4 mail]# useradd user1

[root@RHEL4 mail]# useradd user

[root@RHEL4 mail]# passwd user1

[root@RHEL4 mail]# passwd user

( 5 )修改 DNS 服务器的 MX 资源记录。 @ IN MX 10 mail.jyg.com.

( 6 )各项参数都设置好后,启动 sendmail 服务即可。

配置基本的 Sendmail 服务器

Page 23: 1 . 项目课题引入

邮件中继:当需要把邮件从一个 MTA 传送到另一个 MTA

时,这个邮件中转的动作称为邮件中继。 sendmail 使用 /etc/mail/access.db 文件实现邮件中继的

功能。 sendmail 缺省情况下直接禁止其他不明身份的主机利用本地服务器投递邮件。这种情况下,一个非本地的机器使用本地服务器进行投递时会产生“ 550 relay denied”

错误。在需要使用邮件中继代理时,可以利 /etc/mail/acce

ss.db 文件或 SMTP 验证来实现该功能。

邮件中继和 SMTP 认证

Page 24: 1 . 项目课题引入

access.db 文件是一个散列表数据库,是用 access 文件产生的。 access 文件是一个纯文本文件,文件每一行的格式如下:

< 地址 > < 动作 >

地址部分的表示格式:域名,如 jyg.com 。email 地址,如 [email protected] 。email 地址的用户名部分,如 user@ 。IP 地址,如 192.168.1.1 。网络地址,如 192.168.1 。

动作取值:RELAY :允许通过该邮件服务器进行邮件中继。REJECT :拒绝邮件中继并显示内部错误提示信息。DISCARD :拒绝邮件中继但不返回错误提示信息。

设置邮件中继

Page 25: 1 . 项目课题引入

【例 2】设置例 1 中配置的邮件服务器为 1

63.com 域和 192.168.1.0/24 网段进行邮件中继。拒绝为邮件地址为 [email protected] 的用户进行邮件中继,但不给出错误提示信息。拒绝为 IP

地址为 192.168.2.1 的计算机进行邮件中继,给出“ sorry , try again later” 的错误提示信息。

设置邮件中继

Page 26: 1 . 项目课题引入

( 1 )配置 /etc/mail/access 文件。 [root@RHEL4 ~]# vi /etc/mail/access

163.com RELAY

192.168.1 RELAY

[email protected] DISCARD

192.168.2.1 "sorry,try again later"

( 2 )使用 makemap命令生成 access.db 文件 。 [root@RHEL4 mail]# makemap hash /etc/mail/access.db</etc/mail/access

设置邮件中继

Page 27: 1 . 项目课题引入

SMTP 验证机制可以实现用户级别的邮件中继控制。在 RHEL4 中,利用 saslauthd 服务提供 SMTP 身份验证,该服务由 cyrus-sasl 软件包提供,该软件包是默认安装的。

可以例用 rpm 命令检测是否安装。 [root@RHEL4 mail]# rpm -qa |grep sasl

SMTP 验证

Page 28: 1 . 项目课题引入

实现 SMTP 验证的操作步骤: ( 1 )修改 /etc/mail/sendmail.mc 文件。

[root@RHEL4 mail]# vi /etc/mail/sendmail.mc

TRUST_AUTH_MECH ( `EXTERNAL DIGEST-MD5 CRAM-MD5

LOGIN PLAIN' ) dnl

define ( `confAUTH_MECHANISMS‘, `EXTERNAL GSSAPI DIG

EST-MD5 CRAM-MD5 LOGIN PLAIN’ ) dnl

( 2 )生成 sendmail.cf 文件。 # m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

SMTP 验证

Page 29: 1 . 项目课题引入

( 3 )重新启动 sendmail 服务,使设置生效。 [root@RHEL4 mail]# service sendmail restart

( 4 )启动 saslauthd 服务。 [root@RHEL4 mail]# service saslauthd start

启动 saslauthd : [ 确定 ]

SMTP 验证

Page 30: 1 . 项目课题引入

Foxmail 客户端有关 SMTP 验证的配置界面:

SMTP 验证

Page 31: 1 . 项目课题引入

使用用户别名机制可以实现为单个用户指定别名、保护登录帐号、邮件转发以及实现群组邮递(邮件列表)等功能。用户别名机制通过 /etc/aliases 文件实现的。

aliases 文件格式如下: alias: recipient[,recipient,…]

设置用户别名

Page 32: 1 . 项目课题引入

【例 3】为 user1 帐号设置别名为 zhangsan ,为 user 帐号设置别名为 lisi 。

[root@RHEL4 ~]# vi /etc/aliases

//添加下面两行: zhangsan: user1

lisi: user

设置用户别名

Page 33: 1 . 项目课题引入

【例 4】假设网络组的每位成员在本地 Linux

系统中都拥有一个真实的电子邮件帐户,要求给网络组的所有成员发送一封相同内容的电子邮件。

[root@RHEL4 ~]# vi /etc/aliases

//添加下面两行: network_group: peter,Tom,mlx,jyg

ower-network_group: jyg

设置用户别名

Page 34: 1 . 项目课题引入

【例 5】将发送给 Linux 系统本地用户 jyg 的信件转发到其位于 Internet 上的电子邮件地址 [email protected] 中。

[root@RHEL4 ~]# vi /etc/aliases

//添加下面的行: jyg:[email protected]

注意:在使用别名时,必须注意不要造成循环。例如 user1

转发给 user , user再转发给 user1…… ,如此循环。

设置用户别名

Page 35: 1 . 项目课题引入

虚拟域是真实域的别名,使用虚拟域,可以将发给虚拟域的邮件投递到真实域的用户邮箱中。利用虚拟域也可以实现邮件列表的功能。

虚拟域通过虚拟域用户表 virtusertable.db 实现虚拟域的邮件地址到真实域的邮件地址的重定向。该表是通过 /etc/mail/ virtusertable 文件生成的。

设置虚拟域用户

Page 36: 1 . 项目课题引入

virtusertable 文件的格式: 虚拟域地址 真实域地址

例如:@mlx.com @jyg.com

[email protected] user2

[email protected] user2,mlx,jyg

设置虚拟域用户

Page 37: 1 . 项目课题引入

【例 13-6】为例 1 中的邮件服务器设置虚拟域 mlx.com ,并为 [email protected]指定虚拟域别名 [email protected]

配置步骤:( 1 )配置 DNS 服务器,并设置虚拟域的 MX 资源记录。 ( 2 )将虚拟域 mlx.com添加到 local-host-names 文件中。

#echo “mlx.com” >> /etc/mail/local-host-names

( 3 )配置邮件中继:在 access 文件中添加行: mlx.com RELAY

使用 makemap命令生成 /etc/mail/access.db 文件:

#makemap hash /etc/mail/access.db < /etc/mail/access

设置虚拟域用户

Page 38: 1 . 项目课题引入

( 4 )设置虚拟域用户表 virtusertable ,并生成 v

irtusertable.db 。 编辑 /etc/mail/virtusertable 文件,添加下面的行: [email protected] [email protected]

生成 virtusertable.db 文件:makemap hash virtusertable.db < /etc/mail/ virtusertable

( 5 )重新启动 sendmail 服务即可。

设置虚拟域用户

Page 39: 1 . 项目课题引入

1. POP3 服务器配置

2. 电子邮件服务器测试

项目问题 3 - POP3 服务器配置

Page 40: 1 . 项目课题引入

( 1 )安装 dovecot 软件包,在 RHEL4 的第 4张安装光盘中可以找到该软件包。

( 2 )修改 /etc/dovecot.conf 配置文件,使其支持 POP3 服务:protocols = pop3

pop3_listen = *

( 3 )运行如下命令,启动 dovecot 服务,使其支持 POP3 服务。

[root@RHEL4 RPMS]# service dovecot restart

( 4 )可以利用下列命令查看 110 端口的监听状态。[root@RHEL4 RPMS]# lsof -i:110

POP3 服务器配置

Page 41: 1 . 项目课题引入

1 、 利用 telnet 命令发送电子邮件 【例 7】 sendmail 电子邮件服务器地址为 1

92.168.1.2 ,利用 telnet 命令完成邮件地址为 [email protected] 的用户向邮件地址为 us

[email protected] 的用户发送主题为“ The first

mail” 的邮件。

电子邮件服务器测试

Page 42: 1 . 项目课题引入

【例 7】的操作步骤: [root@RHEL4 RPMS]# telnet 192.168.1.2 25

helo jyg.com // 利用 helo 命令向邮件服务器表明身份

mail from:[email protected] // 利用 mail from 命令输入发件人的邮件地址

rcpt to:[email protected] // 利用 rcpt to 命令输入收件人的邮件地址

data // 输入 data 命令,表示之后输入的内容为邮件内容

from:[email protected] // 邮件的发件人

to:[email protected] // 邮件的收件人

subject:the first mail // 邮件主题

hello,erverybody! // 邮件正文

. // 利用“ .”符号,表示输入结束

quit //退出 telnet 命令

电子邮件服务器测试

Page 43: 1 . 项目课题引入

2 、 利用 telnet 命令接收电子邮件 【例 8】利用 telnet 命令从 IP 地址为 192.168.1.2 的 POP3 服务器接收电子

邮件。

[root@RHEL4 RPMS]# telnet 192.168.1.2 110

user user // 利用 user 命令输入用户的用户名

pass 123456 // 利用 pass 命令输入帐户密码

list // 利用 list 命令获得邮箱中邮件编号

retr 1 // 利用 retr 命令收取邮件编号为 1 的邮件信息

电子邮件服务器测试

Page 44: 1 . 项目课题引入

1. OpenWebmail 的基本配置

2. OpenWebmail 的使用

项目问题 4 - Webmail 服务器配置

Page 45: 1 . 项目课题引入

Open WebMail是一个 WebMail 系统。它的主要目的是通过 Web界面提供友好的邮件服务器访问界面,并在内存中有效地管理邮件。

Open WebMail是利用 sendmail 服务器来收发邮件的。所以在安装 openwebmail 服务器之前,必须安装好 sendmail 邮件服务器。

OpenWebMail 的基本配置

Page 46: 1 . 项目课题引入

1 、 OpenWebMail 软件包的安装: ( 1 )从站点 http://www.openwebmail.org 下载 Open We

bmail 软件包。

( 2 )为了使 OpenWebMail 正常工作,需要更新 perl 解释器,这需要安装以下几个软件包:

perl-Compress-Zlib-1.42-1.el4.rf.i386.rpm

perl-Text-Iconv-1.4-1.2.el4.rf.i386.rpm

perl-suidperl-5.8.5-36.RHEL4.i386.rpm

( 3 )安装 Open WebMail 软件包。

OpenWebMail 的基本配置

Page 47: 1 . 项目课题引入

2 、 OpenWebMail 的设置:( 1 )首先执行 Open WebMail 的初始化:#/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --ini

t ( 2 )根据给出的提示信息修改配置文件。

( 3 )重新运行初始化命令。#/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --ini

t ( 4 )启动 httpd 服务器以提供 Web 服务。

OpenWebMail 的基本配置

Page 48: 1 . 项目课题引入

在客户机浏览器中输入如下地址:http://domainname/cgi-bin/openwebmail/openwebmail.pl

OpenWebMail 的使用

Page 49: 1 . 项目课题引入

OpenWebMail 的使用

Page 50: 1 . 项目课题引入

项目背景: 某局域网内要求配置一台 Sendmail 邮件服务器。该邮件服务器的 I

P 地址为 192.168.1.2 ,负责投递的域为 jyg.com 。该局域网内部的 D

NS 服务器为 192.168.0.9 ,该 DNS 服务器负责 jyg.com 域的域名解析工作。

企业需求: 1. 要求通过配置该邮件服务器可以实现用户 user1 利用邮箱帐号 us

[email protected] 给邮箱帐号为 [email protected] 的用户 user 发送邮件。

2. 为 163.com 域和 192.168.1.0/24 网段进行邮件中继。

3. 拒绝为邮件地址为 [email protected] 的用户进行邮件中继,但不给出错误提示信息。

4. 拒绝为 IP 地址为 192.168.2.1 的计算机进行邮件中继,给出“ so

rry , try again later” 的错误提示信息。

现场演示—项目配置需求

Page 51: 1 . 项目课题引入

现场演示—演示环境

Vmware 中启动的 Linux系统分别作 Sendmail 邮件

服务器、 POP3 服务器和 Webmail 服务器。

利用 Vmware 中启动的 WinXP 和 Win2003 分别作为

客户端进行测试。

Page 52: 1 . 项目课题引入

总结

1. 能从事邮件服务器的配置与管理工作

2. 能熟练配置 POP3 和 Webmail 服务器

3. 能熟练完成企业邮件服务部署

4. 能熟练完成邮件服务的故障检测与排除

Page 53: 1 . 项目课题引入

企业需求: 企业需要构建自己的邮件服务器供员工使用;本企业已经申请了域名jyg.com ,要求企业内部员工的邮件地址为 [email protected] 格式。员工可以通过浏览器或者专门的客户端软件收发邮件。除此之外,最好可以提供网络硬盘、反垃圾邮件,自动回复等功能。

任务: 假设邮件服务器的 IP 地址为 192.168.1.2 ,域名为 mail.jyg.com 。请构建 POP3 和 SMTP 服务器,为局域网中的用户提供电子邮件;邮件要能发送到 Internet 上,同时 Internet 上的用户也能把邮件发到企业内部用户的邮箱。要设置邮箱的最大容量为 20M ,邮箱内邮件数不得超过 500 封,单个邮件不得超过 4M 。之外希望能提供邮件自动回复功能,提供反垃圾邮件功能。

作业:根据以下需求写出设计方案: