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

我build设一个电子邮件服务器,将使用SMTP的Postfix和Dovecot的IMAP。

这个服务器将有两个接口:

  • wwan0 – 这个接口有一个静态的公共IP地址,Postfix将用它来发送和接收电子邮件,Dovecot用于远程访问IMAP – 这个接口的使用上限有限,因为它是一个3G连接
  • wlan0 – 这个接口有一个由WiFi / ADSL路由器分配的私有IP地址 – 这个接口将被Dovecot用于本地IMAP,对于剩余的非Postfix输出stream量 – 这个接口具有更大的使用上限

我的理解是,我需要:

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

进一步的扩展是探索如何在ADSL失败时(有时ADSL会下降,但WiFi和路由器将保持不变,但不能转发任何stream量),如何获得默认网关故障切换到wwan0连接。

我知道你可以有不同的度量值的多个默认网关,但我不明白这将如何修复ADSL下降,但不是路由器(因为网关仍然可路由,但无法转发stream量)。

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

我的理解是正确的吗?

如果您将“设置默认网关到ADSL路由器”,AFAIK这将导致所有(不剩余的!)stream量去ADSL路由器。 所以来自Postfix的输出stream量也将通过ADSL路由器。 这可能不是你想要的

这个问题的答案 – 如果一条path出现故障,让Linux更改默认路由? – 包含如何实施基于策略的路由的链接,这可能是您的案例中最相关的解决scheme。

不过,我不确定你的设置。 据我了解,你有2个互联网连接。 而你的邮件服务器连接到他们两个。 然后,我不知道为什么你需要总是发送传出stream量从Postfix到wwan0。

我只是这样设置它:

  1. Postfix在wwan0上侦听
  2. 鸽子都听
  3. 所有传出stream量都通过ADSL路由器(默认路由)

在这种情况下,我只是build立一个不同度量标准的辅助网关(wwan0),而不使用基于策略的路由select,并应用一个脚本来优先(改变度量值)故障转移(辅助)网关,当某些资源不能通过主网关:

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