Windows中使用netsh portproxy端口转发


简介:

自Windows XP开始,Windows中就内置网络端口转发的功能。任何传入到本地端口的TCP连接(IPv4或IPv6)都可以被重定向到另一个本地端口,或远程计算机上的端口,并且系统不需要有一个专门用于侦听该端口的服务。目前只支持tcp协议的端口转发,前提需要作为portproxy的主机需要安装IPV6,安装可以不启用IPV6。

在Linux中,使用iptables和Firewalld可以非常轻松地配置端口重定向。详细请见。在这介绍一下windows命令Netsh使用Portproxy模式进行端口转发,以达到端口重定向功能。

问题描述

服务器A

eth0 10.10.10.4 内网

eth1 106.14.12.52 外网

服务器B

eth0 10.10.10.5 内网

通过服务器A 106.14.12.52公网+8933端口远程访问服务器B内网10.10.10.5

1、以管理员身份运行cmd

netsh interface portproxy add v4tov4 listenport=8933 listenaddress=106.14.12.52 connectport=3389 connectaddress=10.10.10.5

listenaddress - 等待连接的本地IP地址(本机IP 106.14.12.52)

listenport - 本地侦听TCP端口(本机所开的端口 8933)

connectaddress - 将传入连接重定向到本地或远程IP地址(内网主机IP 10.10.10.5)。

connectport - 内网主机远程端口 3389

2、查看已转发端口,如果没转发显示为空

netsh interface portproxy show all

3、删除转发

netsh interface portproxy delete v4tov4 listenport=8933 listenaddress=106.14.12.52 connectport=3389 connectaddress=10.10.10.5

注:windows转发需要新建防火墙规则,放行8933端口