![多个 MX 指向同一服务器](https://linux22.com/image/730980/%E5%A4%9A%E4%B8%AA%20MX%20%E6%8C%87%E5%90%91%E5%90%8C%E4%B8%80%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我需要邮件服务器配置方面的帮助。我想知道是否有可能拥有多个具有不同公共 IP 的 MX,指向同一个本地服务器。这是因为在我的环境中存在 2 个网关(多个服务提供商),一个管理 12.12.12.5 的 watchguard t30(本地 10.0.0.254)和一个管理 12.12.12.6 的 watchguard t35(本地 10.0.0.253),用于故障转移。它们共享同一个 isp 路由器,具有 12.12.12.0/28。
守望者 t35-loc 10.0.0.254-pub 12.12.12.5
watchguard t30-loc 10.0.0.253-pub 12.12.12.6
区域 mycompany.com:
mycompany.com. MX 5 mail.mycompany.com
mycompany.com. MX 15 samemail.mycompany.com
mycompany.com. TXT "v=sfp1 a mx ip4:12.12.12.5 ip4:12.12.12.6 ~all"
mail.mycompany.com. A 12.12.12.5
samemail.mycompany.com A 12.12.12.6
区域 12.12.12.in-addr.apra:
5.12.12.12.in-addr.arpa. PTR mail.mycompany.com.
6.12.12.12.in-addr.arpa. PTR samemail.mycompany.com.
在防火墙1上:nat 12.12.12.5 - 10.0.0.1 公共邮件端口
在防火墙2上:nat 12.12.12.6 - 10.0.0.1 公共邮件端口
邮件服务器网卡配置
ip: 10.0.0.1
subnet mask: 255.0.0.0
gw 10.0.0.254 metric 2
gw 10.0.0.253 metric 50
这样,当第一个网关出现故障时,所有请求都从 10.0.0.253(12.12.12.6)的公共端口(25..443..)启动(并发出),而不是从度量为 2 的网关启动(并发出)。
或者我可以为邮件服务器分配另一个 NIC 并更改防火墙上的所有规则,然后使用 INTERFACE 指标,如示例所示:
邮件服务器 NIC1
10.0.0.1
255.0.0.0
10.0.0.254
nic metric 2
NIC2
10.0.0.2
255.0.0.0
10.0.0.253
nic metric 50
我想知道使用此方法是否有任何禁忌症,或者是否有其他选择。其他信息,邮件服务器是 Mdaemon。一切帮助都很可观!
编辑:如果我使用具有两个网关和不同指标的配置,我的服务器将始终使用具有最低指标 10.0.0.254(12.12.12.5)的网关,直到它发现它在线。除非我设置某些特定路由,否则服务器将无法使用辅助 10.0.0.253(12.12.12.6),甚至端口 25 和其他常用端口也无法监听。我做了一个测试,我在 12.12.12.5 和 12.12.12.6 上的端口 25 上启动了连续查询,在此测试期间,我关闭了防火墙 10.0.0.254(12.12.12.5),因此服务器已停止监听它,并开始在指标中监听辅助防火墙。当服务器在线时,是否存在不使用 10.0.0.254 开始通信的情况? 测试 fw1 关闭
答案1
您好,此配置不会按您想象的那样运行 :-(。DNS 记录主要针对域(您很可能已经正确理解了这一点,但为了让读者能够正确看到它)...
区域 mycompany.com:
mycompany.com. MX 5 mail.mycompany.com
mycompany.com. MX 15 samemail.mycompany.com
mycompany.com. TXT "v=sfp1 a mx ip4:12.12.12.5 ip4:12.12.12.6 ~all"
mail.mycompany.com. A 12.12.12.5
samemail.mycompany.com A 12.12.12.6
区域 12.12.12.in-addr.apra:
5.12.12.12.in-addr.arpa. PTR mail.mycompany.com.
6.12.12.12.in-addr.arpa. PTR samemail.mycompany.com.
从 DNS 的角度来看,它是正确的,但问题可能是服务器端的路由。根据您发布的网络设置,它在内部不会表现为服务器端的两个独立网络连接,但始终优先使用 10.0.0.254 / 12.12.12.5,即使通信已使用 10.0.0.253 / 12.12.12.6 开始(出于任何原因)。在某些情况下,它可能有效,但在其他情况下,它将不起作用(例如,如果另一方使用了 Cisco ASA - 此时它将不会被识别为相关通信并将被终止)。
为了使其正常工作,最好在网关端使用一些 HA 选项 - 例如虚拟 IP、备用网关等,并在 DNS 端使用一个 MX 记录。由于它“结束”在 ISP 的同一路由器上,所以不会有问题。此时邮件服务器也只有一个接口。
如果您坚持在邮件服务器上使用两个接口,这可能是可行的,但您需要确保响应将遵循用于建立连接的同一网关。最简单的方法是在网关/防火墙上使用 sNAT,但对于邮件服务器来说,这不是一个好主意,因为您会失去对源 IP 的跟踪(例如基于源 IP 的垃圾邮件检查),因此将选择其他(更复杂的方法)。