配置 postfix 接受来自两个 WAN 的邮件

配置 postfix 接受来自两个 WAN 的邮件

我有一台 Mac 服务器,但我的问题早已离开了 GUI 的领域。我最后的希望是一个unix论坛。

我有一个带有两个 WAN 端口的思科路由器。 Mac 使用 postfix 2.8.3。在本例中,我已正确配置端口 25 的端口转发。但是,当我尝试使用端口 25 打开从外部主机到我的 WAN 端口的 IP 地址的 telnet 会话时,我仅在 WAN1 上收到后缀回复。 WAN2 给我一个“无法连接到远程主机:连接超时”的消息。然而,如果我运行 WireShark,我可以看到路由器转发请求,但 postfix 似乎没有“接收”。

我查看了 main.cf,没有任何内容表明 postfix 应该挑剔它想要使用的 WAN。 inet_protocols 设置为 all,我什至尝试将每个 WAN 端口的静态 IP 地址添加到我的网络变量中。

但我似乎无法让它工作 - 有没有人有任何我可以下一步看的提示?

谢谢

答案1

这里有几件事需要检查:

  • 在 Mac 上,运行“tcpdump port 25”。这会将进出端口 25 的所有内容打印到标准输出。现在远程登录到端口 25 上的两个 IP。tcpdump 是否打印两个 IP 的任何内容,还是仅打印第一个 IP?
  • 在 Mac 上,运行“postconf inet_interfaces”。如果您看到“inet_interfaces = all”,则 postfix 应该正在侦听所有接口。
  • 在 Mac 上,运行“netstat -tapn|grep 25”。这应该返回 postfix 正在侦听的接口。如果您看到类似“0.0.0.0:25”的内容,则表明 postfix 正在监听所有接口。

如果后两个测试如我所说,那么问题出在路由器级别。另请注意,我在 GNU/Linux 主机上执行了测试,因此您的结果可能略有不同。

答案2

您的路由器确实支持使用两个 WAN 链路进行负载平衡。正如我所看到的,现在的情况是,您尚未在路由器上配置任何负载平衡,您已连接这两个 WAN 链路,并且 SMTP 端口转发到 LAN IP 之一(您的 mac),并且路由器只有一个默认网关互联网,即 WAN1。因此,即使数据包通过 WAN2 进入,也会通过 WAN1 发送到客户端,客户端会看到它就像向 A 打招呼并从 B 收到回复一样,出于明显的原因,它会忽略该回复,从而导致超时。恕我直言,单独启用负载平衡应该有助于解决您的问题。

相关内容