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

SMTP 中继阻止

默认情况下,将 Messaging Server 配置为阻止 SMTP 中继尝试;即,拒绝从未经验证的外部源(外部系统是指服务器本身所在的主机之外的任何其他系统)到外部地址的邮件提交尝试。此默认配置在阻止 SMTP 中继时相当强力,因为它将所有其他系统都当作外部系统。

安装后,请务必手动修改配置,以满足站点的需要。特别是,Messaging Server 应该识别其自身的内部系统和子网,这些内部系统和子网的 SMTP 中继应始终被接受。如果未升级此配置,则测试 MTA 配置时可能会遇到问题。

如果 IMAP 和 POP 客户端尝试通过 Messaging Server 系统的 SMTP 服务器将邮件提交到外部地址,而这些地址不使用 SMTP AUTH (SASL) 进行验证,则提交尝试将被拒绝。将哪些系统和子网视为内部系统通常由 INTERNAL_IP 映射表控制,在文件 msg_svr_base/config/mappings 中可以找到该表。

例如,在 IP 地址为 192.45.67.89 的 Messaging Server 系统上,默认的 INTERNAL_IP 映射表显示如下:


INTERNAL_IP

  $(192.45.67.89/24)  $Y
  127.0.0.1  $Y
  *  $N

初始条目用于指定与 192.45.67.89 的前 24 位匹配的任何 IP 地址是匹配项并将被视为内部地址(使用 $(IP-pattern/significant-prefix-bits) 语法)。第二个条目将把回送 IP 地址 127.0.0.1 视为内部地址。最后一个条目指定所有其他 IP 地址均不被视为内部地址。

您可以通过在最后的 $N 条目之前指定其他 IP 地址或子网来添加其他条目。这些条目必须在左侧指定 IP 地址或子网(使用 $(.../...) 语法来指定子网)并在右侧指定 $Y。 或者可以修改现有的 $(.../...) 条目,以接受更通用的子网。

例如,如果上述的同一样例站点具有 C 类网络,即拥有所有 192.45.67.0 子网,则此站点需要修改初始条目,使映射表显示如下:


INTERNAL_IP

  $(192.45.67.89/24)  $Y
  127.0.0.1  $Y
  *  $N

或者如果站点仅拥有 192.45.67.80-192.45.67.99 范围内的 IP 地址,则将希望此站点使用:

INTERNAL_IP

! Match IP addresses in the range 192.45.67.80-192.45.67.95
  $(192.45.67.80/28)  $Y
! Match IP addresses in the range 192.45.67.96-192.45.67.99
  $(192.45.67.96/30)  $Y
  127.0.0.1  $Y
  *  $N

请注意,在检查 IP 地址是否与特定的 $(.../...) 测试条件相匹配时,msg_svr_base/sbin/ imsimta test-match 实用程序很有用。在检查 INTERNAL_IP 映射表是否返回了各种 IP 地址输入所需的结果时,imsimta test -mapping 实用程序通常会更有用。

修改 INTERNAL_IP 映射表之后,请确保运行 msg_svr_base/sbin/imsimta cnbuildmsg_svr_base/sbin/imsimta restart 实用程序,以使更改生效。

可以在 《Sun Java System Messaging Server 6 2005Q4 Administration Reference》中的第 2  章 “Message Transfer Agent Command-line Utilities” 中找到有关映射文件和普通映射表格式的详细信息,以及有关 imsimta 命令行实用程序的信息。此外,可以在添加 SMTP 中继中找到有关 INTERNAL_IP 映射表的信息。