我想在我的(不错的)家庭 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承诺静态地址。我的家地址一直很稳定,但不知为何被重新编号过一次。