SMTP NAT 借用数据中心服务器静态公网IP的iptable规则

SMTP NAT 借用数据中心服务器静态公网IP的iptable规则

我想在我的(不错的)家庭 ISP 连接上运行我自己的邮件服务器,而不是将我的电子邮件信任给任何数据中心提供商 - 主要是因为我已经有一台正在运行的机器。

虽然实际上我的公共 IP 从未改变,但我的 ISP 不会为我提供合适的静态 IP,让我可以调整反向 DNS PTR 记录,而无需切换到带有大量加价的商业计划。结果,我的服务器传输的电子邮件被视为垃圾邮件 - 显然。

所以我想我可以通过链接两个 iptables NAT 来获取小型 VPS(我可以控制其 PTR 记录)的公共 IP。使用 NAT 而不是 SMTP 中继不会损害端到端 TLS 加密。

但是,我在设置 NAT 时遇到了困难,如下所示。每台机器只有一个网络接口,我计划将 NAT 限制到 TCP/25 端口,因为我不想通过 Relay/VPS 运行所有私有流量。

Home Server 1.2.3.4             Relay 5.6.7.8             Recipient Mailserver 10.11.12.13
[home.server.mydomain]          [relay.mydomain]          [mail.recipientdomain]

OUTPUT/MASQUERADE       <=>      FORWARD/MASQUERADE    <=>  INPUT

为了测试设置,我目前使用 netcat 并运行防火墙占位符邮件服务器 10.11.12.13,它仅接受来自 Relay 5.6.7.8 的端口 25 上的流量。

然而,不知何故,我无法理解 iptable 规则/NAT 概念,并希望得到一些提示(在中继上的 sysclt 中启用了 ip 转发):

家庭服务器 1.2.3.4

-A OUTPUT -t nat -p tcp --dport 25 -j DNAT --to-destination 5.6.7.8:25
-A POSTROUTING -t nat -d 5.6.7.8 -p tcp --dport 25 -j MASQUERADE

中继 5.6.7.8

-A INPUT -s 1.2.3.4 -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j DROP
-A FORWARD -s 1.2.3.4 -p tcp -m tcp --dport 25 -j ACCEPT
-A POSTROUTING -t nat -p tcp --dport 25 -j MASQUERADE

邮件服务器 10.11.12.13

-A INPUT -s 5.6.7.8 -j ACCEPT # for testing
-A INPUT -j DROP

通过这些,家庭服务器可以到达中继上的端口 25,但不能到达其他任何端口:

$(邮件服务器)> nc -ltp 25 $(家庭服务器)> nc 10.11.12.13 25

非常感谢您的任何建议。免责声明:我的想法可能仍然存在一些我尚未考虑过的安全隐患。

答案1

  • 在 VPS 上运行 VPN 服务
  • 将您家中的本地邮件服务器作为 VPN 客户端。对其进行配置,使其具有静态 VPN 地址
  • 邮件服务器必须通过本地家庭互联网路由到 VPN 服务器(才能建立连接),其余部分(默认路由)必须通过 VPN 路由
  • 在 VPS 上,通过其面向 Internet 的接口从 VPN 地址进行 SNAT,并为 SMTP 端口进行 DNAT,以连接到邮件服务器的内部 VPN 地址

请注意,这与您的要求略有不同。您希望仅通过 VPS 路由电子邮件,这样您将通过 VPS 路由所有邮件服务器流量。但我认为这更好,因为对于世界来说,您的邮件服务器看起来就像是在 VPS 上,只是速度稍慢一些。

所有这些都可以通过廉价的 Linux VPS 和 OpenVPN 轻松实现。

本质上,您正在您的 VPS 机器上创建另一个 (VPN) 接口,它将成为路由器、VPN,并且其中的邮件服务器将成为其 LAN。

答案2

在 VPS 上运行邮件服务器。

通过为所有协议启用 TLS 来加密移动数据。

使用磁盘加密对静态数据进行加密。如果您不信任提供商,请考虑自行进行更复杂的加密设置,并在实例启动时输入密钥。

备份数据并将其保存在家中和其他提供商的档案存储中。

不要使用 NAT。考虑实施 IPv6。


如果您重视在家中运行邮件服务器,请切换到商业服务。通常,这就是 ISP 收取的静态寻址和删除 SMTP 过滤的费用。

IPv6 拥有足够多的地址,足以让每个住宅客户获得一个 /48。而且有能力的 IPAM 系统将可靠地为客户提供其分配的前缀。(不,这不一定是基于 MAC 的,因为存在非 MAC DHCPv6 唯一标识符 (DUID)。)但这并不意味着 ISP承诺静态地址。我的家地址一直很稳定,但不知为何被重新编号过一次。

相关内容