Windows 平台使用自带工具进行端口转发

504 阅读2分钟
本文已参与「新人创作礼」活动,一起开启掘金创作之路。

一、基础环境

  操作系统:Microsoft Windows 10 或 Microsoft Windows Server 2008 及以上

二、应用场景

  在不能直接访问计算机某些端口的时候,我们可以使用 Windows 系统自带的端口转发工具转发到能够直接访问的计算机端口,以便进行网络访问。

三、操作步骤

  注意:以下操作需要在【以管理员身份运行】【命令提示符】进行。

  1、建立端口转发规则:192.168.1.100:4500 转发至 192.168.1.101:3389

  在 192.168.1.100 上执行:

netsh interface portproxy add v4tov4 listenaddress=192.168.1.100 listenport=4500 connectaddress=192.168.1.101 connectport=3389
# listenaddress 监听地址,如果本机有多个地址,且需要监听所有地址,此参数可以省略。
# listenport    监听端口,用于监听网络请求的端口。
# connectaddress连接地址,用于转发网络请求的地址。
# connectport   连接端口,用于转发网络请求的端口。
# 可以简写为:
netsh interface portproxy add v4tov4 listenport=4500 connectaddress=192.168.1.101 connectport=3389

   执行完毕后,我们可以通过访问 192.168.1.100:4500 来访问 192.168.1.101:3389 了。如果192.168.1.100 开启了防火墙,需要在防火墙放行 4500 端口。

  2、显示端口转发规则:

  在192.168.1.100 上执行:

# 显示所有转发规则
netsh interface portproxy show all
 
# 仅显示 IPv4ToIPv4 的转发规则
netsh interface portproxy show v4tov4
 
# 仅显示 IPv6ToIPv6 的转发规则
netsh interface portproxy show v6tov6
 
# 仅显示 IPv4ToIPv6 的转发规则
netsh interface portproxy show v4tov6
 
# 仅显示 IPv6ToIPv4 的转发规则
netsh interface portproxy show v6tov4

  3、删除端口转发规则

  在192.168.1.100 上执行

# 如果在创建端口转发规则的时候有 listenaddress ,在删除的时候需要加上 listenaddress
netsh interface portproxy delete v4tov4 listenaddress=192.168.1.100 listenport=4500
 
# 如果在创建端口转发规则的时候没有 listenaddress ,在删除的时候不用加 listenaddress
netsh interface portproxy delete v4tov4 listenport=4500

  参考资料:

  1、系统自带的命令帮助:netsh interface portproxy help