经常看到有些问MX记录是什么呀和解析问题,我觉得应该是对其原理不清楚,我想贴这个贴应该可以给大家一个启示:
由于 Exchange Server 2003 依赖 DNS 进行名称解析,因此 DNS 在 Internet 邮件流中发挥了至关重要的作用。 SMTP是依赖 DNS 来确定其下一个内部或外部目标服务器的 IP(Internet 协议)地址。通常,内部 DNS 名称不在 Internet上发布。因此,SMTP 必须能够联系到可以解析外部 DNS 名称以发送 Internet 邮件的 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 服务器的配置(默认情况)支持递归进程。
DNS 如何将查询解析为 MX 记录并查找 IP 地址

有关 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 中的收件人。
Exchange 如何使用 DNS 来解析外部 IP 地址

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