我想在我的(体面的)家庭ISP连接上运行我自己的邮件服务器,而不是把我的电子邮件信任给任何数据中心提供商--主要是因为我已经有一台机器在运行。
虽然在实践中,我的公共IP从未改变,但我的ISP不会为我提供一个适当的静态IP,而我可以在不切换到带有重要标记的业务计划的情况下调整反向DNS PTR记录。因此,我的服务器传输的电子邮件被视为垃圾邮件--显然。
因此,我想我可以借一个小型VPS的公共IP (我可以控制PTR记录),通过链接两个iptables NAT。使用NAT而不是SMTP中继,不会影响端到端TLS加密.
然而,我正在努力建立NAT(s)如下。每台机器只有一个网络接口,我计划将NATing限制在TCP/25端口上,因为我不想通过中继/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,运行一个防火墙占位符Mailserver 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有了这些功能,Home就可以在中继上到达端口25,但没有其他:
$(mailserver)> nc -ltp 25 $(homeserver)> nc10.11.12.13 25
任何建议都非常感谢。免责声明:我的想法可能仍然有一些安全问题,我还没有想过。
发布于 2021-01-25 18:00:01
在VPS上运行邮件服务器。
通过为所有协议启用TLS来加密运行中的数据。
用磁盘加密在静止时加密数据。如果您不信任提供程序,请考虑一个更复杂的设置,即自己进行加密,并在实例启动时输入密钥。
备份数据,并将其从网站转移到家中和其他提供商的存档存储。
不要纳特。考虑实现IPv6。
如果您重视在家运行邮件服务器,请切换到业务服务。通常,这是is提取静态寻址和删除其SMTP筛选的价格。
IPv6有足够多的地址供每个住宅客户使用以获得/48。有能力的IPAM系统将可靠地给客户分配前缀。(不,这不一定是基于MAC的,因为存在非MAC DHCPv6唯一标识符(DUID)。)但这并不意味着ISP承诺使用静态地址。我的家一直很稳定,但由于我不知道的原因,重新编号了一次。
发布于 2021-01-27 09:20:40
请注意,这与您要求的内容有很大不同。您只想通过VPS路由电子邮件,这样您将通过VPS路由所有邮件服务器流量。但是我认为这样做更好,因为对于这个世界来说,你的邮件服务器看起来就像是生活在VPS上,只是稍微慢一些。
所有这些都很容易用廉价的Linux和OpenVPN来实现。
本质上,您正在VPS机器上创建另一个( VPN )接口,它变成了一个路由器,其中的一个VPN和一个邮件服务器变成了它的LAN。
https://serverfault.com/questions/1051051
复制相似问题