如何为我的家庭服务器添加第二个专用 IP?
我需要两个专用的公共 IP指向同一个服务器。这样做的原因是我需要两个应用程序使用同一个端口。
如果这有帮助的话,我已经安装了另一个 NIC。我正在使用 Ubuntu 10.10。
答案1
为了做到这一点,您需要有可用的公共 IP。添加别名只会利用更多的私有 IP 地址空间,而每个网络中的私有 IP 地址空间实际上是无限的。您的 ISP 需要为您提供一个额外的公共 IP,您需要在您的外围防火墙上配置它,然后可以通过 NAT 将其连接到第二个私有 IP,以便您可以在不同的私有 IP 地址(因此是公共 IP 地址)上使用相同的端口运行两个应用程序。
答案2
解决您遇到的问题的一个更好的方法是在您的服务器上运行一个小型的本地“代理”程序,该程序什么也不做,只是接受一个端口上的流量并将其重定向到应用程序上的端口,显然不允许您更改端口。
假设应用程序仅监听端口 3000,且您的外部 IP 是 255.99.99.99,并且您希望第二个实例监听端口 3001。
在这种设置下,您将告诉应用程序实例 A 监听 255.99.99.99:3000,告诉应用程序实例 B 监听 127.0.0.1:3000,并告诉您的代理程序监听 255.99.99.99:3001,并将从那里传入的连接重定向到 127.0.0.1:3000。
在 Linux 下,您可以使用iptables
或另一个名为 的程序执行此操作rinetd
。我相信 Windows 上也有类似的程序。