# Windows下端口转发,以实现远程端口3389为例 ## 场景如下 先说明一下场景 服务器A处于局域网环境内,IP为`192.168.1.200`(同时作为虚拟机B的网关`192.168.137.1`) 服务器A中安装有不同网段的虚拟机B,IP为`192.168.137.2`。 A可实现对B的远程,但A同网段的其他机器无法ping通B  开始实现 ## 方式一:CMD Windows自带端口转发 > 如何在Windows中使用netsh命令进行端口转发  > netsh interface portproxy支持windows xp(含)以上,依赖于IP Helper服务 在服务器A执行如下CMD命令,建立端口转发规则`192.168.1.200:13389 ==> 192.168.137.2:3389` ### 语法 ```bash # 语法 # netsh interface portproxy add v4tov4 listenport=[监听端口号] listenaddress=[本地IP地址] connectport=[目标端口号] connectaddress=[目标IP地址] netsh interface portproxy add v4tov4 listenaddress=192.168.1.200 listenport=13389 connectaddress=192.168.137.2 connectport=3389 # 同上 netsh interface portproxy add v4tov4 listenport=13389 connectaddress=192.168.137.2 connectport=3389 ``` 执行完毕,可通过远程访问`192.168.1.200:13389`实现对`192.168.137.2`的远程访问。  与此同时 ### 代理举例 ```bash # 数据库端口转发 netsh interface portproxy add v4tov4 listenport=3307 connectport=3306 connectaddress=192.168.1.100 # SSH 端口转发 netsh interface portproxy add v4tov4 listenport=2222 connectport=22 connectaddress=192.168.1.102 # Web服务器端口转发 netsh interface portproxy add v4tov4 listenport=80 connectport=8080 connectaddress=192.168.1.103 # FTP服务器端口转发 netsh interface portproxy add v4tov4 listenport=2121 connectport=21 connectaddress=192.168.1.104 ``` ### 查看本机添加的所有规则 ```bash netsh interface portproxy show all ``` ### 删除指定规则 ```bash netsh interface portproxy delete v4tov4 listenaddress=192.168.1.200 listenport=13389 ``` ### 删除全部规则 ```bash netsh interface portproxy reset ``` ### 导出备份规则 ```bash netsh interface portproxy dump > c:\portproxy.txt ``` ### 导入还原规则 ```bash netsh -f c:\portproxy.txt ``` ### [Netsh interface portproxy 命令](https://learn.microsoft.com/zh-cn/windows-server/networking/technologies/netsh/netsh-interface-portproxy) ## 方式二:Windows下使用NGINX实现端口转发 在服务器配置NGINX,配置文件添加如下配置项: ```bash stream { upstream mstsc { server 192.168.137.2:3389; } server { listen 33389; proxy_pass mstsc; } } ``` 启动NGINX后,可通过远程访问`192.168.1.200:33389`实现对`192.168.137.2`的远程访问。 ## 扩展 - 同理,可使用同样的操作添加实现对其他端口的转发规则。 - 如果无法访问请取人防火墙是否开启对应规则和端口或被安全软件拦截