Exchange Server 2003 的传输依赖性

 

上一次修改主题: 2005-05-05

简单邮件传输协议 (SMTP) 需要下列组件才能正常工作:

  • Internet 信息服务 (IIS),这是 Microsoft® Windows Server™ 2003 中的一项功能
  • Microsoft Active Directory® 目录服务
  • 域名系统 (DNS)
  • 收件人策略
  • 收件人更新服务
  • 目录服务到元数据库服务 (DS2MB)

本主题提供了有关上述每个组件的详细信息,并说明了它们如何与 SMTP 交互。

Internet 信息服务

Internet 信息服务 (IIS) 为 Internet 服务(例如,World Wide Web Publishing 服务 (W3SVC)、SMTP 服务 (SMTPSVC),以及 Network News Transfer Protocol 服务 (NntpSvc))提供框架进程。请不要将 IIS 与 Web 服务混淆,因为其他几个服务(如 SMTP)依赖 IIS 才能工作。

安装 IIS 后,将会提供下列组件:

  • 称为 IIS Admin Service (IISADMIN) 的框架进程(使用户可以通过 IIS 管理单元管理服务)。
  • Microsoft 管理控制台 (MMC) 的管理控制台或管理单元。
  • IIS 元数据库(IIS 的配置库)。
  • 上述 Internet 服务的公用文件(提供套接字连接池的共享库)、注册和管理

要安装 Microsoft Exchange 2000 Server 和 Exchange Server 2003,必须首先安装 World Wide Web Publishing 服务、SMTP 服务和 NNTP 服务。这一先决条件确保了在安装 Exchange 之前,已安装所有必要的组件。Exchange 通过事件基础结构来利用核心的 SMTP 服务。(有关事件基础结构的详细信息,请参阅 MSDN® Web site。)安装 Exchange 后,SMTP 服务将仅依赖于 IIS Admin Service。可以禁用 World Wide Web Publishing 服务,而不会影响 SMTP 服务;但是,不能使用“添加或删除程序”中的“添加/删除 Windows 组件”选项来禁用 IIS Admin Service 或完全删除该 IIS 组件。

安装 IIS 的过程中会在 World Wide Web Publishing 服务下创建几个虚拟服务,这些目录对于任何 Exchange 组件(包括 Microsoft Outlook® Web Access)而言都不是必需的。为了帮助保护 IIS,Microsoft 提供下列工具:

  • URLScan 2.5(用于 Windows Server 2003)
    URLScan 2.5 是一个安全工具,它限定了 IIS 将处理的 HTTP 请求类型。要提高运行 Windows Server 2003 的服务器的安全性,应运行 URLScan。可以从 Microsoft 下载中心下载 URLScan。有关 URLScan 的详细信息,请参阅 Microsoft 知识库中编号为 823175 的文章:“Fine-Tuning and Known Issues When You Use the Urlscan Utility in an Exchange 2003 Environment”(英文)。
  • IIS 锁定向导(用于 Windows® 2000 Server)
    IIS 锁定向导是一个安全工具,它删除不必要的虚拟目录,增强文件的安全性,并根据用户定义的配置处理实时的 URL 请求。如果是在 Windows 2000 服务器上运行 Exchange,那么,要在发生不大可能出现的事件(例如,World Wide Web Publishing 服务启动时出错)的情况下增强保护,应在每一台 Exchange 服务器和域控制器上部署 IIS 锁定向导。可以从 Microsoft 下载中心下载 IIS Lockdown Wizard。有关使用 IIS 锁定向导的详细信息,请参阅保护基础结构中的“在 Windows 2000 Server 上使用 IIS 锁定向导”。

Active Directory

Exchange Server 2003 与 Windows 2000 和 Windows Server 2003 以及 Active Directory 紧密集成。Exchange Server 2003 将其全部配置信息都存储在 Active Directory 中,其中包括有关收件人策略、路由和连接器配置、SMTP 虚拟服务器配置、用户邮箱等信息。但是,SMTP 从 IIS 数据库中读取其设置。因此,为了向 IIS 提供实现 SMTP 功能所需的信息,Microsoft Exchange System Attendant(Exchange 默认服务中的一项服务)将 Active Directory 中的配置信息复制到 IIS 元数据库中。

此外,路由依赖 Active Directory 来获取有关当前路由拓扑的信息。启动时,每一台 Exchange 服务器都从 Active Directory 中读取有关路由拓扑的信息,如现有的连接器配置、路由组,以及本地和远程桥头服务器。如果诸如路由组或连接器这样的对象被破坏,将无法从 Active Directory 中读取该对象。如果发生这种情况,服务器将无法拥有完整的拓扑视图。可以监视事件查看器中的事件 929 以检测此情形。有关事件查看器的详细信息,请参阅如何在事件查看器中查看应用程序日志如何在事件查看器中查看系统日志

启动后,每个路由组中的路由组主服务器(负责在路由组中维护并传递有关路由拓扑信息的服务器)都在 Active Directory 中注册,并会收到配置域控制器所发出的关于重大路由版本变更的通知。当路由组主服务器收到路由拓扑的更新时,会将更新信息发送到路由组中的所有成员服务器,并通知远程路由组中的所有桥头服务器。然后,这些桥头服务器会通知其各自的路由组主服务器。此外,分类程序(内部传输组件)还会使用 DSAccess 访问 Active Directory 中信息的缓存版本,或者使用 LDAP 查询来直接查询 Active Directory。有关分类程序的详细信息,请参阅了解内部传输组件

域名系统 (DNS)

虽然关于 DNS 的完整分析和讨论超出了本指南所讲述的范围,但是,此部分提供了有关 Exchange 中 DNS 与 SMTP 之间的关系的信息。由于 Exchange Server 2003 依赖 DNS 进行名称解析,因此 DNS 在 Internet 邮件流中发挥了至关重要的作用。

SMTP 依赖 DNS 来确定其下一个内部或外部目标服务器的 IP(Internet 协议)地址。通常,内部 DNS 名称不在 Internet 上发布。因此,SMTP 必须能够联系到可以解析外部 DNS 名称以发送 Internet 邮件的 DNS 服务器,以及可以解析内部 DNS 名称以实现组织内传递的 DNS 服务器。有关如何配置 DNS 以发送和接收邮件的信息,请参阅验证 DNS 设计和配置

下面的部分提供了有关 DNS 查询的一般概述,并说明了 DNS 在发送和接收邮件的过程中所发挥的作用。

外部 DNS 查询的工作原理

当 DNS 客户端需要解析服务器的名称时,便会查询 DNS 服务器。客户端发送的每个查询的本质作用是请求 DNS 服务器提供信息。客户端指定查询类型,该类型既可以指示资源记录的类型,也可以指示查询操作的专门类型。例如,要找到 Internet 中的 SMTP 邮件服务器,应指定查询类型 MX(邮件交换资源记录)。

例如,指定的名称可能是外部域,如 example.microsoft.com.,而指定查找的查询类型可能是该名称的 MX 记录。可以将 DNS 查询理解为客户端向服务器发出的两步提问:首先提问“您有与名称为‘example.microsoft.com.’的域对应的 MX 资源记录吗?”,然后再提问“如果有,可以将此 MX 记录解析为 A(主机)记录,并解析其 IP 地址吗?”当客户端收到来自服务器的应答时,会读取并解释 MX 记录并获取 A 记录,从而解析计算机的 IP 地址。

查询 DNS 服务器

当 DNS 服务器收到查询时,会首先基于 MX 记录信息(包含在服务器上的本地配置区域中)查看它是否有权应答该查询。如果要查询的名称与本地区域中对应的 MX 记录匹配,则该服务器进行可信的应答,并使用该信息来解析要查询的名称。

如果不存在与要查询的名称对应的区域信息,服务器将查看它是否可以使用在以前的查询过程中缓存在本地的信息来解析该名称。如果找到匹配项,服务器将使用此信息来应答。同样,如果首选服务器能够从其缓存中向请求方客户端提供肯定的匹配响应,则查询完成。

如果既不存在与要查询的名称匹配的区域,也不存在匹配的缓存信息,则查询进程将使用递归来完全解析该名称。递归是一个进程,在该进程中,DNS 服务器代表请求方客户端查询其他 DNS 服务器以完全解析该名称,然后将应答返回给客户端。默认情况下,DNS 客户端服务要求服务器在返回应答之前,先代表客户端使用递归完全解析名称。在大多数情况下,DNS 服务器的配置(默认情况)支持递归进程。

6c31463f-f343-499a-b73d-233e9712c700

有关 DNS 的详细信息,请参阅 Windows 2000 或 Windows Server 2003 帮助。

DNS 在发送和接收内部邮件中的作用

Windows 2000 和 Windows Server 2003 均在动态 DNS 中注册每个服务器的完全限定域名 (FQDN)。Exchange 服务器和 SMTP 虚拟服务器也使用该 FQDN。如果更改了 SMTP 虚拟服务器所使用的 FQDN,请务必手动将该 FQDN 的记录添加到 DNS 中。

DNS 在接收 Internet 邮件中的作用   若要接收 Internet 邮件,外部 DNS 服务器必须有一个 MX 记录指向包含邮件服务器(或者可以将邮件转发到邮件服务器的服务器)的 IP 地址的 A 记录。要确保 MX 记录的配置正确,可以使用 Nslookup 工具。要验证 Internet 上的其他服务器能否通过 25 端口访问您的服务器,可以使用 telnet。

使用 DNS 发送 Internet 邮件

使用 DNS 时,最重要的一点是记住 DNS 搜索顺序中的所有服务器都必须能够解析外部域(也称为 Internet 域)。由于您可能使用内部服务器来进行内部名称解析,因此可以选择下面三种设置选项:

  • 将内部 DNS 服务器设置为对 Internet 域使用根目录提示的缓存服务器。   根目录提示指向对包含域根目录和顶级域的区域拥有权限的 DNS 服务器。根目录提示帮助 DNS 服务器找到正确的服务器以解析域名。
  • 将具有转发器的内部 DNS 服务器设置为外部 DNS 服务器。   转发器是内部服务器所指定的用于解析外部 DNS 名称的 DNS 服务器。(要设置转发器,请在 DNS 控制台中,选择 DNS 服务器。在“操作”菜单上,单击“属性”,再单击“转发器”选项卡,然后选中“启用转发器”复选框。添加用作该服务器的转发器的其他 DNS 服务器的 IP 地址。)
  • 配置 SMTP 服务使用外部 DNS 服务器。   若要配置外部 DNS 服务器,请用鼠标右键单击 SMTP 虚拟服务器,再单击“属性”,然后单击“传递”选项卡。单击“高级”,再单击“配置”以设置外部 DNS 服务器。

例如,假定 example.com 域中的内部客户端要向远程域 contoso.com 中的收件人发送邮件。为了路由该邮件,Exchange 使用 DNS 解析 Contoso 域中的 SMTP 服务器的 IP 地址,并将邮件传递给 contoso.com 中的收件人。

a17f6628-39ec-40e2-9131-c768040f464f

下面的序列还说明了 Exchange 如何使用 DNS 来解析外部 IP 地址:

  1. example.com 域中的 SMTP 服务器收到发往 contoso.com 中的收件人的邮件后,SMTP 虚拟服务器与相应的 DNS 服务器联系,并发送关于外部域 contoso.com 的 MX 查询。
  2. DNS 服务器查找与 contoso.com 的 MX 记录关联的 A 记录,然后使用该 A 记录来确定 IP 地址。有关 DNS 服务器如何查找 A 记录的详细信息,请参阅本章前面的“查询 DNS 服务器”。
  3. DNS 服务器将 contoso.com 中的邮件服务器的 IP 地址 172.234.234.23 返回给 SMTP 虚拟服务器。
  4. SMTP 虚拟服务器在 IP 地址为 172.234.234.23 的远程 SMTP 服务器的 25 端口上打开连接,并传递邮件。

将 Internet 邮件转发到智能主机

智能主机是处理 Internet 邮件传递的服务器或邮件进程。智能主机不必是 Exchange 服务器 -- 它可以是负责传递邮件(将它发送到另一台 SMTP 服务器,或者使用 DNS 来直接传递邮件)的任何 SMTP 进程或服务器。在存在与 Internet 的持久连接的情况下,智能主机不是必需的。但是,智能主机通常是外围网络中的防病毒扫描程序或 Windows 2000 或 Windows Server 2003 SMTP 服务。

使用智能主机进行 DNS 解析与使用 DNS 服务器类似,不同之处在于智能主机负责解析 IP 地址和发送邮件。

有关如何在外围网络中配置 Windows 2000 SMTP 服务的详细信息,请参阅 Microsoft 知识库中编号为 293800 的文章:“XCON: How to Set Up Windows 2000 as a SMTP Relay Server or Smart Host”(英文)。

有关如何在 Microsoft Internet Security and Acceleration (ISA) Server 的后面设置 Exchange 的详细信息,请参阅技术文章 Microsoft ISA Server 2000 – Configuring and Securing Exchange 2000 Server and Clients(英文)。

收件人策略

收件人策略用于为一组用户建立使用特定协议(如 SMTP)的默认电子邮件地址。电子邮件地址用于定义将入站电子邮件发送到 Exchange 系统所需的有效格式。默认收件人策略所设置的邮件域是虚拟服务器接受的传入电子邮件所对应的邮件域。它为所有基于 Exchange Server 2003 并且已启用邮箱的对象指定默认的 SMTP 和 X.400 地址。

在收件人策略中指定的任何 SMTP 域都会复制到 IIS 元数据库中,并设置为权威本地域。因此,SMTP 接受发往这些域的入站邮件。只有在清除了“SMTP 地址属性”中的“此 Exchange 组织负责处理传递到此地址的所有邮件”复选框时,才不会将添加到收件人策略中的 SMTP 地址视为本地地址。

收件人策略可以包含指定协议(如 SMTP 或 X.400)的多个电子邮件地址。例如,如果 Exchange 组织中的所有用户都拥有外部电子邮件地址 @example.com,但是您希望西雅图的用户拥有两个外部邮件地址:一个为 @example.com,另一个为 @seattle.example.com,则可以针对西雅图办事处的所有用户设置一个收件人策略,并添加额外的地址 @seattle.example.com。要实现这一目标,请执行下列步骤。

有关收件人策略的详细信息,请参阅使 Exchange 连接到 InternetExchange Server 2003 Administration Guide中的“管理 Exchange Server 2003 中的收件人和收件人策略”。

收件人更新服务

收件人更新服务是 Microsoft Exchange System Attendant 服务 (MSExchangeSA) 的一部分,它监视 Active Directory 中是否存在新的收件人,并将用户的相应电子邮件地址和其他 Exchange 属性写入到 Active Directory 中。收件人更新服务使用收件人策略中定义的信息,以及包含在每个收件人策略中的收件人的正确用户信息来更新 Active Directory。

组织中的每个域都必须有一个收件人更新服务。在大型组织中,建议采用多个收件人更新服务。应考虑为每个 Active Directory 站点分别设置一个收件人更新服务。否则,即便在简单的复制拓扑中,复制新的收件人及其更新信息也需要长达三十分钟的时间。在此复制过程完成前,这些收件人无法发送或接收邮件。

目录服务到元数据库服务

DS2MB 服务(目录服务到元数据库服务)是 Exchange 系统助理服务的一个组件,它负责将 Active Directory 中的信息传播到 IIS 元数据库中。DS2MB 对于 SMTP、Internet 邮件访问协议 4 (IMAP4)、邮局协议 3 (POP3) 以及 World Wide Web Publishing 服务 (W3SVC)(Microsoft Outlook® Web Access 的服务)的运行至关重要。

DS2MB 将 Active Directory 中的下列信息复制到 IIS 元数据库中:

  • SMTP 虚拟服务器及其大部分可配置属性。
  • SMTP 连接器地址空间(以便高级排队引擎的元数据库可以正确路由邮件)。
  • 收件人策略中的权威域(复制到 SMTPSVC/x/Domain 子项中,并由高级排队引擎使用)。

启动时,DS2MB 检查它过去复制过的所有对象,以及自上次复制以来是否发生过任何更改)。如果 DS2MB 检测到之前未发生过复制,则进行初始化并复制所有对象。

启动后,DS2MB 在配置域控制器中注册,以便在对 Exchange 配置进行了任何更改以及删除了对象容器后,收到域控制器的通知。因此,几乎在更改复制到配置域控制器的同时,DS2MB 也将对象复制到了元数据库中。

DS2MB 在遇到问题时记录 ID 为 1040 的事件。如果发生此事件,应将 MSExchangeMU(元数据库更新服务)的诊断日志记录级别增加到 5。可以在 Exchange 系统管理器中打开诊断日志记录,方法是:用鼠标右键单击 Exchange 服务器,单击“属性”,再单击“诊断日志记录”选项卡,然后在“服务”下选择“MSExchangeMU”。有关此步骤的详细信息,请参阅如何修改 MSExchangeTransport 的日志记录设置