本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一、基础环境
操作系统: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