如何设置具有公共静态 IP 接口和私有 IP 接口的路由邮件服务器

如何设置具有公共静态 IP 接口和私有 IP 接口的路由邮件服务器

我正在构建一个电子邮件服务器,将使用 Postfix 作为 SMTP,使用 Dovecot 作为 IMAP。

该服务器将具有两个接口:

  • wwan0 - 此接口具有静态公共 IP 地址,Postfix 将使用它来发送和接收电子邮件,Dovecot 将使用它来远程访问 IMAP - 由于它是 3G 连接,因此此接口的使用上限有限
  • wlan0 - 此接口具有由 wifi/ADSL 路由器分配的私有 IP 地址 - 此接口将由 Dovecot 用于本地 IMAP,并用于剩余的非 Postfix 传出流量 - 此接口的使用上限更大

我的理解是我需要:

  • 通过将 inet_interfaces main.cf 参数设置为公共静态 IP,告诉 Postfix 仅使用 wwan0 - 这应该使 Postfix 仅在 wwan0 上监听,并通过 wwan0 发送所有传出流量
  • 将默认网关设置为 ADSL 路由器 - 这将导致所有剩余流量都通过 ADSL
  • 将 Dovecot 设置为监听本地主机,以便所有接口响应 IMAP

对此的进一步扩展是探索如何让默认网关在 ADSL 出现故障时故障转移到 wwan0 连接(有时 ADSL 会掉线,但 WiFi 和路由器会保持运行但无法转发任何流量)。

我知道您可以拥有具有不同指标的多个默认网关,但我不明白这如何能解决 ADSL 故障而非路由器故障(因为网关仍然可以路由但无法转发流量)。

我看到过建议使用脚本检查 ADSL 是否仍然有效(ping 或 HTTP)并更改内核路由表以将流量引导到最佳接口。

我的理解正确吗?

答案1

如果您“将默认网关设置为 ADSL 路由器”,据我所知,这将导致所有(不是剩余的!)流量都流向 ADSL 路由器。因此,Postfix 的传出流量也将通过 ADSL 路由器。这可能不是您想要的...

这个问题的答案是——如果一条路径出现故障,如何让 Linux 更改默认路由?- 包含有关如何实施基于策略的路由的链接,这可能是您情况下最相关的解决方案。

但是,我不确定您的设置。据我所知,您有 2 个 Internet 连接。并且您的邮件服务器连接到这两个连接。那么我不确定为什么您需要始终将传出流量从 Postfix 发送到 wwan0。

我会这样设置:

  1. Postfix 在 wwan0 上监听
  2. Dovecot 同时监听
  3. 所有传出流量都通过 ADSL 路由器(默认路由)

在这种情况下,我只需设置一个具有不同指标的辅助网关(wwan0),而不使用基于策略的路由,并应用脚本来首选(更改指标)故障转移(辅助)网关,当某些资源不再可通过主网关访问时:

http://www.linuxquestions.org/questions/linux-networking-3/simple-way-to-use-backup-gateway-metric-750728/

相关内容