我想将所有邮件流量(本地主机端口 25)重定向到另一台服务器以发送邮件。我应该使用 BIND、iptables 还是其他工具?我该怎么做?
答案1
问题中的“BIND”令人困惑 :)。如果您尝试从一台服务器提供 Web 服务并从另一台服务器提供邮件服务,您需要做的就是将邮件交换器域的 A 记录指向第二台服务器 IP(邮件服务器 IP)。无需将邮件流量加载到第一台服务器(Web 服务器)。因此,您需要做的就是将 MX 域(通常为 mail.yourdomain.com)的 A 记录设置为相应的服务器 IP(第二台服务器)。
-$
答案2
假设我理解您的场景:您希望来自外部客户端的所有流量都到达服务器 1 并立即转发到服务器 2,但对于服务器 2 来说仍然显示为来自客户端,而不是服务器 1。
首先,检查你的 Linux 机器上是否启用了 IP 转发,或者简单地使用以下命令启用它系统控制:
sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0
接下来你将看到一些 iptables 魔法,它将所有数据包重新路由到新服务器:
iptables -t nat -D PREROUTING -p tcp –dport destination-port-goes-here -j DNAT –to-destination your.IP.goes.here
完成上述操作后,所有流量应该都会转发到新服务器,但数据包应该看起来是来自客户端,而不是进行转发的服务器。当然,在实施之前请亲自验证所有这些。
答案3
发酵如果你最终得到了很多规则,那么这是一个非常方便的管理这些规则的工具