Sun Java System Messaging Server 6 2005Q4 管理指南

TCP/IP 连接和 DNS 查找支持

可以指定有关服务器如何处理 TCP/IP 连接和地址查找的信息。本节说明了以下内容:

表 12–22 列出了本节说明的 TCP/IP 连接和 DNS 查找关键字。

表 12–22 TCP/IP 连接和 DNS 查找关键字

通道关键字 

说明 

端口选定和接口地址

指定用于 SMTP 连接的默认端口号和接口地址 

port

指定用于 SMTP 连接的默认端口号。标准端口为 25。 

interfaceaddress

绑定到指定的 TCP/IP 接口地址。 

缓存关键字 

指定对连接信息进行缓存的方式 

cacheeverything

缓存所有连接信息。 

cachefailures

仅缓存连接失败信息。 

cachesuccesses

仅缓存连接成功信息。 

nocache

不缓存任何连接信息。 

反向 DNS 查找 

指定对外来 SMTP 连接进行反向 DNS 查找的方式 

forwardcheckdelete

如果已执行反向 DNS 查找,则接下来对返回的名称执行正向查找,以检查返回的 IP 号是否与原号相匹配;如果不匹配,则删除名称并使用 IP 地址。 

forwardchecknone

DNS 反向查找后不执行正向查找。 

forwardchecktag

如果已执行反向 DNS 查找,则接下来对返回的名称执行正向查找,以检查返回的 IP 号是否与原号相匹配;如果不匹配,则用 * 标记名称。 

IDENT 查找/DNS 反向查找 

指定对外来 SMTP 连接进行 IDENT 查找和 DNS 反向查找的方式 

identnone

不执行 IDENT 查找;执行 IP 到主机名的转换;在 Received: 标题中包含主机名和 IP 地址。

identnonelimited

不执行 IDENT 查找;执行 IP 到主机名的转换,但在通道切换期间不使用主机名;在 Received: 标题中包含主机名和 IP 地址。

identnonenumeric

不执行 IDENT 查找或 IP 到主机名的转换。 

identnonesymbolic

不执行 IDENT 查找;执行从 IP 到主机名的转换;在 Received: 标题中仅包含主机名。

identtcp

对外来 SMTP 连接执行 IDENT 查找并执行 IP 到主机名的转换;在 Received: 标题中包含主机名和 IP 地址。

identtcplimited

对外来 SMTP 连接执行 IDENT 查找以及 IP 到主机名的转换,但在通道切换期间不使用主机名。在 Received: 标题中包含主机名和 IP 地址。

indenttcpnumeric

对外来 SMTP 连接执行 IDENT 查找,但不执行 IP 到主机名的转换。 

identtcpsymbolic

对外来 SMTP 连接执行 IDENT 查找并执行 IP 到主机名的转换;在 Received: 标题中仅包含主机名。

MX 记录支持和 TCP/IP 名称服务器 

指定通道是否支持 MX 记录查找以及支持的方式 

mx

TCP/IP 网络和软件支持 MX 记录查找。 

nomx

TCP/IP 网络不支持 MX 查找。 

defaultmx

通道确定是否从网络中查找 MX。 

randommx

执行 MX 查找;对返回的具有同等优先级的条目进行随机化处理。 

nonrandomemx

执行 MX 查找;对返回的具有同等优先级的条目不进行随机化处理。 

nameservers

指定要查看的名称服务器列表,而不查看 TCP/IP 栈自身选择的名称服务器;nameservers 需要用于名称服务器且以空格分隔的 IP 地址列表。

defaultnameservers

查看 TCP/IP 栈选择的名称服务器。 

lastresort

指定最后可用的主机。 

切换关键字 

控制外来邮件的备用通道的选定 

allowswitchchannel

允许从 switchchannel 通道切换到此通道

noswitchchannel

停留在服务器通道;不切换到与发件主机关联的通道;不允许被切换。 

switchchannel

从服务器通道切换到与发件主机关联的通道。 

tlsswitchchannel

TLS 协商成功后,切换到其他通道。 

saslswitchchannel

SASL 验证成功后,切换到其他通道。 

目标主机的选择和邮件副本的存储 

指定目标主机系统及存储邮件副本的方式。 

daemon

连接到特定主机系统而不考虑信封地址。 

single

指定应该为通道中每个目标地址分别创建一个邮件副本。 

single_sys

为所用的每个目标系统创建一个邮件副本。 

TCP/IP 端口号和接口地址

关键字:portinterfaceaddress

发送邮件时,基于 TCP/IP 的 SMTP 通道通常连接到端口 25。可以使用 port 关键字来指示基于 TCP/IP 的 SMTP 通道连接到非标准端口。请注意,该关键字是分发程序选项 PORT 的补充,该选项控制 MTA 侦听的用于接受 SMTP 连接的端口。

interfaceaddress 关键字控制 TCP/IP 通道绑定为出站连接源地址的地址;也就是说,在具有多个接口地址的系统中,当 MTA 发送外发 SMTP 邮件时,该关键字控制哪些地址将用作源 IP 地址。请注意,该关键字是分发程序选项 INTERFACE_ADDRESS 的补充,该选项控制 TCP/IP 通道侦听的用于接受外来连接和邮件的接口地址。

缓存通道连接信息

关键字:cacheeverythingnocachecachefailurescachesuccesses

使用 SMTP 协议的通道保留一个包含以前连接尝试的历史记录的高速缓存。使用该高速缓存可以避免多次重新连接到不可访问的主机,多次连接会浪费很多时间并造成其他邮件的延迟。这是基于每个进程的高速缓存,仅存在于出站 SMTP 传送通道的单次运行期间。

高速缓存通常记录连接成功信息和失败信息。(记录成功的连接尝试是为了抵消以后的失败- - 以前成功但现在失败的主机并不保证在进行另一次连接尝试之前的延迟时间会与从未尝试连接或以前曾经连接失败的主机一样长。)

但是 MTA 使用的缓存策略不一定适合所有情况。因此我们提供了通道关键字以调整 MTA 缓存。

cacheeverything 关键字启用所有形式的高速缓存,其为默认设置。nocache 关键字禁用所有高速缓存。

cachefailures 关键字启用连接失败的高速缓存,但不启用连接成功的高速缓存—这比 cacheeverything 对重试的限制更严。最后,cachesuccesses 只对成功连接进行高速缓存。对于 SMTP 通道,该关键字与 nocache 的效果相同。

反向 DNS 查找

关键字:forwardchecknoneforwardchecktagforwardcheckdelete

forwardchecknoneforwardchecktagforwardcheckdelete 通道关键字可以修改进行反向 DNS 查找的结果。上述关键字可以控制 MTA 是否正向查找使用 DNS 反向查找发现的 IP 名,如果请求正向查找,则指定当 IP 名称的正向查找与原来的连接 IP 号不匹配时 MTA 要执行的操作。

forwardchecknone 关键字是默认设置,表示不进行正向查找。forwardchecktag 关键字通知 MTA 在每次反向查找后进行正向查找,如果使用正向查找发现的号码与原来的连接号码不匹配,则用星号 (*) 标记 IP 名称。forwardcheckdelete 关键字通知 MTA 在每次反向查找后进行正向查找,如果该名称的正向查找与原来的连接 IP 地址不匹配,则忽略(删除)反向查找返回的名称;在这种情况下,MTA 使用原来的 IP 地址。


注 –

在很多站点中正向查找与原来的 IP 地址不匹配是很正常的因为这些站点将较为普通的 IP 名称用于多个不同的 IP 地址。


IDENT 查找

关键字:identnoneidentnonelimitedidenttnonnumericidentnonesymbolicidenttcpidenttcpnumericidenttcpsymbolicidenttcplimited

IDENT 关键字控制 MTA 使用 IDENT 协议处理连接和查找的方式。在 RFC 1413 中有对 IDENT 协议的说明。

identtcpidenttcpsymbolicidenttcpnumeric 关键字通知 MTA 使用 IDENT 协议执行连接和查找。从 IDENT 协议获取的信息(通常是进行 SMTP 连接的用户的身份)将按照以下方式插入到邮件的 Received: 标题中:


注 –

远程系统必须运行 IDENT 服务器,identtcpidenttcpsymbolicidenttcpnumeric 引起的 IDENT 查找才有用。


请注意,IDENT 查询尝试可能会使性能下降。不断增加的路由器将使尝试连接到无法识别的端口的操作进入“黑洞”。如果在 IDENT 查询时出现这种情况,则 MTA 直到连接超时(TCP/IP 栈控制的超时,一般为大约一至二分钟)后才能收到返回的结果。

identtcpindenttcplimitedidenttcpsymbolicidenttcpnumeric 进行比较时,会出现另一个性能方面的因素。用 identtcpidenttcplimitedidenttcpsymbolic 调用的 DNS 反向查找为了获得对用户更加友好的主机名会导致额外的系统开销。

identnone 关键字禁用 IDENT 查找,但会指定 IP 到主机名的转换,并在邮件的 Received: 标题中包含 IP 号和主机名。

identnonesymbolic 关键字禁用 IDENT 查找,但会进行 IP 到主机名的转换;在邮件的 Received: 标题中仅包含主机名。

identnonenumeric 关键字禁用此 IDENT 查找,并禁止通常的 IP 号到主机名的 DNS 反向查找转换,这可能会使性能得到改善,但会减少 Received: 标题中的用户友好信息。该值为默认值。

IDENT 查找、反向 DNS 查找以及 Received: 标题中显示的信息而言,identtcplimitedidentnonelimited 关键字的效果分别与 identtcpidentnone 相同。不同点在于,使用关键字 identtcplimitedidentnonelimited 时,始终将 IP 字面地址作为所有通道切换(由于使用 switchchannel 关键字)的基础,而不考虑 DNS 反向查找是否成功确定了主机名。

TCP/IP MX 记录支持

关键字:mxnomxdefaultmxrandommxnonrandommx

某些 TCP/IP 网络支持使用 MX(邮件转发)记录,另外一些网络则不支持。如果 MTA 系统连接到的网络未提供 MX 记录,可以将某些 TCP/IP 通道程序配置为不使用 MX 记录。mxnomxdefaultmxrandommxnonrandommx 关键字控制 MX 记录支持。

关键字 randommx 指定应该执行 MX 查找,并且应该按随机顺序处理具有同等优先级的 MX 记录的值。关键字 nonrandommx 指定应该执行 MX 查找,并且应该按与接收顺序相同的顺序处理具有同等优先级的 MX 值。

mx 关键字当前与 nonrandommx 等效;在将来的版本中可能将其更改为与 randommx 等效。nomx 关键字禁用 MX 查找。defaultmx 关键字指定如果网络声称支持 MX 记录,则应该使用 mx。在支持任何形式的 MX 查找的通道中,关键字 defaultmx 是默认设置。

名称服务器查找

关键字:nameserversdefaultnameservers

执行名称服务器查找时,可以使用 nameservers 通道关键字指定要查看的名称服务器列表,而不查看 TCP/IP 栈自身选择的名称服务器。nameservers 关键字要求用于名称服务器的以空格分隔的 IP 地址列表,如以下示例所示:

nameservers 1.2.3.1 1.2.3.2

默认设置 defaultnameservers 表示使用 TCP/IP 栈自身选择的名称服务器。

为了在 UNIX 中防止名称服务器查找,可以修改 nsswitch.conf 文件。在 NT 中,请修改 TCP/IP 配置。

最后可用的主机

关键字:lastresort

lastresort 关键字用于指定要连接的主机,即使所有其他连接尝试均失败。实际上,它充当最后可用的 MX 记录。它只在 SMTP 通道中有用。

此关键字需要一个参数用以指定“最后可用的系统”的名称。例如:

tcp_local single_sys smtp mx lastresort mailhub.siroe.com
TCP-DAEMON

外来邮件的备用通道(切换通道)

关键字:switchchannelallowswitchchannelnoswitchchannel。另请参见SMTP 验证、SASL 和 TLS中的 saslswitchchannel传输层安全性中的 tlsswitchchannel

以下关键字控制对外来邮件的备用通道的选择:switchchannelallowswitchchannelnoswitchchannel

MTA 在接受来自远程系统的外来连接时,必须选择与该连接关联的通道。通常该选择取决于所使用的传输;例如,外来的基于 TCP/IP 的 SMTP 连接将自动与 tcp_local 通道关联。

但是,如果使用具有不同特性的多个外发通道来处理基于相同传输的不同系统,则无法再使用该约定。发生这种情况时,外来连接无法关联到与外发连接相同的通道,造成相应的通道特性无法关联到远程系统。

switchchannel 关键字提供了解决上述问题的方法。如果在服务器使用的初始通道中指定了切换通道,则连接(发件)主机的 IP 地址将与通道表进行匹配,如果匹配,将对源通道进行相应更改。如果未查找到匹配的 IP 地址,或查找到的匹配地址与原来默认的外来通道相同,MTA 可以选择尝试使用进行 DNS 反向查找时查找到的主机名进行匹配。可以将源通道更改为标记为 switchchannelallowswitchchannel(默认设置)的任意通道。noswitchchannel 关键字指定不对通道或从通道执行通道切换操作。

默认情况下,在与服务器关联的通道以外的通道中指定 switchchannel 将没有效果。目前,switchchannel 只影响 SMTP 通道,但是实际上在任何其他通道中使用 switchchannel 都不合理。

目标主机选择

关键字:daemonsinglesingle_sys

daemon 关键字的解释和用法取决于应用该关键字的通道的类型。

daemon 关键字用于 SMTP 通道控制目标主机的选择。

通常,连接到任意主机的通道都被列在正被处理的邮件的信封地址中。使用 daemon 关键字可以通知通道连接到特定的远程系统(一般是防火墙或邮件集线器系统),而不考虑信封地址。实际远程系统的名称应该直接出现在 daemon 关键字之后,如以下示例所示:

tcp_firewall smtp mx daemon firewall.acme.com
TCP-DAEMON

如果 daemon 关键字之后的参数不是全限定域名,则参数将被忽略,通道将连接到它的正式主机。正式主机是与通道相关的全限定主机名。可以在包含三行的通道块的第二行中指定:

tcp_firewall smtp mx daemon router
firewall.acme.com
TCP-DAEMON

也可以在包含两行的通道块的 TCP-DAEMON 之后指定正式主机,这样,出站连接便可以将其自身识别为特定的主机:

tcp_firewall smtp mx daemon router
TCP-DAEMON firewall.acme.com

如果将防火墙或网关系统名称指定为正式主机名,通常将 daemon 关键字的给定参数指定为路由器,如以下示例所示:

tcp_firewall smtp mx daemon router
firewall.acme.com
TCP-DAEMON

其他重要关键字包括 singlesingle_syssingle 关键字指定应该为通道中的每个目标地址分别创建一个邮件副本。single_sys 关键字为所用的每个目标系统创建一个邮件副本。请注意,不管使用哪个关键字,至少为邮件在其排队的每个通道创建每个邮件的一个副本。