我们有一个Exchange 2010 环境,配置如下:
在 DAG 中配置了 2 个邮箱服务器,使用 NLB 配置了 CAS 阵列的 2 个集线器传输/CAS 服务器
问题是这样的 - 运行 Hub Transport/CAS 角色的两台服务器有两个 NIC,一个用于一般用途,一个用于 CAS 阵列。我们通过智能主机路由外部邮件,该主机已配置为接受来自我们特定 IP 地址的邮件。我们的防火墙将来自每个 Exchange Hub 服务器的连接 NAT 到其中一个外部地址。问题是,流量(不仅仅是 SMTP,而是所有内容)似乎随机地从一个 NIC 流出,然后流向另一个 NIC。我可以通过访问 whatismyipaddress.com 来确认这一点,并在刷新时看到它发生变化。两个 NIC 都配置了默认网关(是的,我知道)。
到目前为止,我尝试过的方法是将网关从 CAS 阵列使用的 NIC 中删除。但这会导致客户端连接(即 Outlook)失败,因为我们的客户端位于与 Exchange 服务器不同的子网范围内。我为我们的内部子网范围添加了一条静态路由,将 CAS NIC 指定为接口,只留下另一个带有默认网关的 NIC。但出于某种原因,客户端连接仍然失败。
我可以配置智能主机以在两个 NIC 上接受来自 Hub 服务器的邮件,但这意味着要么分配额外的外部 IP 地址,要么允许来自通用互联网网关地址的 SMTP 连接,所有客户端都使用该地址进行浏览。显然我不想这样做。
有没有办法实现我想要做的事情?除了添加两个新服务器并分离 Hub 和 CAS 功能之外?有什么想法可以解释为什么当我删除默认网关时,即使我定义了持久静态路由,客户端与 CAS 阵列的连接也可能失败?我该如何解决这个问题?
答案1
我也没有找到任何强制 Exchange 使用特定 NIC 的方法,在我们的测试中,Exchange 始终使用 IPv4 地址最低的 NIC。如果您也是这种情况,您可能能够将最低的 IP 地址分配给您想要用于 SMTP 的 IP 地址以实现此目的。
第二种选择是使用第三方软件“MultiSendcon”(http://www.servvolutions.com/multisendcon.htm)。MultiSendcon 实际上是用来做其他事情的 - 它将电子邮件分发到不同的 SMTP 中继服务器或根据发件人地址或域将它们发送到不同的 NIC。您不需要分发功能,但此软件确实可以选择将传出流量绑定到特定 NIC。