![端口转发多台内部机器所有端口](https://linux22.com/image/702263/%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%E5%A4%9A%E5%8F%B0%E5%86%85%E9%83%A8%E6%9C%BA%E5%99%A8%E6%89%80%E6%9C%89%E7%AB%AF%E5%8F%A3.png)
如果我在网关内有 10 台虚拟机和 5 台机器,192.168.0.1
我怎样才能让所有相应的机器在所有端口上公开可见?
目前我有一台 Virgin Superhub 3。我只能将外部端口转发到每个端口的内部单台机器。
我在这里有什么选择?
答案1
端口转发做不到这一点。端口转发是1对1的关系。
如果您希望所有 10 台(15 台?)机器都可以从网关外部访问,则必须设置路由。
编辑:添加 OP 评论。
端口转发设置了一条规则,将到达单个 IP 的流量转发到另一个 IP。例如,如果路由器的外部 IP 为 1.2.3.4,内部 IP(充当内部网络的网关)为 172.16.0.1,则您可以设置 80/tcp 的端口转发,使其从 1.2.3.4:80 转到 172.16.0.15:80。
然后,当流量到达 1.2.3.4:80 时,路由器会将流量转发到 172.16.0.15:80,即该地址的内部机器。您不能将 1.2.3.4:80 转发到每个内部 IP 并期望它能正常工作。它们都会接收流量并回复路由器。
如果您想将网络内所有机器上的所有端口公开到外部(互联网?)网络,则每台机器都需要一个直接连接到互联网/外部网络的公共/可路由 IP 地址。
听起来您的 Virgin Super 3 正在为内部机器提供网络地址转换 (NAT)。 维基百科:网络地址转换
这对于启动与现有服务的出站连接的客户端计算机来说非常有效。要从内部网络向外提供服务,您必须为服务器/服务使用可路由的地址,或者使用端口转发之类的解决方案,该解决方案仅适用于每个端口一个内部地址。