端口转发到不同子网中的服务器

端口转发到不同子网中的服务器

我正在尝试将路由器防火墙中的端口转发到 Hyper-V 服务器中的服务器。

我的路由器默认网关是:192.168.178.1

子网掩码.......................................................................................................................: 255.255.255.0

我的 Hyper-V 服务器具有以下 IP 配置:(Hyper-V 内部网络交换机)

IPv4 地址。。。。。。。。。。。。:192.168.137.100(首选)

子网掩码.......................................................................................................................: 255.255.255.0

默认网关.............: 192.168.137.1

DNS 服务器...............: 192.168.137.10

此 hyper-v 服务器确实具有互联网/对路由器子网的访问权限,因为在 Hyper-V 主机上,我在适配器上启用了 Internet 连接共享,并选择了虚拟内部网络交换机作为目标。


这些就是详细信息。目前,服务器可以 ping 网关:192.168.178.1。在 Hyper-V 主机上,我可以 ping 服务器。但是我的防火墙路由器当然不知道这台 192.168.137.10 计算机,因此目前无法将端口转发到该 PC。

有人能帮我想想我的路由器/防火墙如何看到服务器,以便我可以转发端口吗?如果我需要提供更多详细信息,请告诉我

答案1

您需要在防火墙路由器中为网络 192.168.137.0 添加一条静态路由,子网掩码为 255.255.255.0,服务器的下一个希望 IP 地址为 192.168.178.10。

您无法从主机 ping 路由器,因为您的路由器不知道网络 192.168.137.0 在哪里,而网络 192.168.178.10 上

答案2

Eddie Dunn 给了我提示,让我找到了问题的答案。(谢谢 Eddie)

所以解决方案是在你的网关防火墙上将端口 80 转发到目标机器(hyper-v 主机)

然后在 Hyper-V 主机上执行此命令将端口转发到不同子网中的服务器:netsh interface portproxy add v4tov4 listenport=80 listenaddress=192.168.178.10 connectport=80 connectaddress=192.168.137.100

顺便说一句,我不确定为什么我会得到所有这些 --- 没有解释。但这就是我们为拥有一个允许投票反对而无需反馈的系统而付出的代价,让人们学习...

我想我是唯一一个拥有简单测试实验室的系统管理员?无论如何,我希望最终的解决方案能帮助其他人 :)

相关内容