![如何将我的域上的某些端口转发到另一个 IP](https://linux22.com/image/520471/%E5%A6%82%E4%BD%95%E5%B0%86%E6%88%91%E7%9A%84%E5%9F%9F%E4%B8%8A%E7%9A%84%E6%9F%90%E4%BA%9B%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%20IP.png)
我有一个域名,其 MX 记录全部指向一个公共 IP。但是,我有不同的服务器,它们都应该在不同的公共 IP 上使用相同的域。由于到我的域的所有流量都来自一个 IP,因此我想将其中一些流量(基于端口)转发到其他 IP。我的服务包括电子邮件服务器、SIP 服务器、Apache 等。我在所有机器上使用 Ubuntu 10 服务器版本。
我想我需要设置某种代理/防火墙来实现这一点。我还认为我需要保留访问这些服务的客户端的原始 IP,因此路由器需要双向重写 IP 地址,以便我的客户端都使用相同的 IP,并且所有信息对他们来说都是透明的。
您能为我推荐什么样的设置?我需要像 iptables 这样的代理服务器/防火墙吗,还是还有其他方法。
一切顺利,天使
答案1
为什么不直接在域中添加其他主机条目,如 sip.yourdomain.com、mail.yourdomain.com 等,每个条目都指向相关服务器?在我看来,这比使用某些重定向要好。
答案2
redir。这样就可以了。不过 SvenW 是对的。你也应该更新 dns。
答案3
如果您的对外服务器是 Linux,则应该在其上运行 iptables 防火墙。我使用的是 Shorewall。它附带了各种情况的示例配置。其文档涵盖了从防火墙转发到适当的服务器。它还涵盖了将多个 IP 地址从防火墙重定向到防火墙后面的服务器。请参阅以下文档http://www.shorewall.net/