Windows使用netsh命令进行端口转发详解

需求原因:电脑C可以访问内网其中一台电脑A,但是无法访问与之相邻的电脑B,而电脑A可以访问电脑B。
需要在电脑A上进行端口转发,以至于电脑C可以直接访问电脑B

电脑A IP地址:192.168.5.23、10.0.0.2
电脑B IP地址:192.168.5.1
电脑C IP地址:10.0.0.1

实施方案:

将电脑A的8088端口映射到电脑B的80,使电脑C可以直接远程到电脑B的80端口,命令如下:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8088 connectaddress=192.168.5.1 connectport=80

(此命令在电脑A上运行)

实现效果:
在电脑C上直接访问 http://127.0.0.1:8088 或者 http://192.168.5.23:8088 后实际访问的是 http://192.168.5.1:80的服务

命令解析:

netsh interface portproxy add v4tov4 listenaddress=本地监听地址 listenport=监听端口 connectaddress=转发目标的IP地址 connectport=转发目标的端口

netsh interface portproxy add v4tov4:这个格式是固定的,也就是IPV4协议下的端口代理转发

listenaddress:本地监听地址,如果想要任何IP都可以访问那就使用0.0.0.0

listenport:本地监听的端口

connectaddress:转发目标电脑B的IP地址

connectport:转发目标电脑B的端口

【netsh interface portproxy命令介绍】

查看端口转发列表:
netsh interface portproxy show all

删除转发条目:
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8088

清除所有当前的端口转发规则:
netsh interface portproxy reset

注意:
1、新增和删除都不会有提示,可以通过查看命令查看结果。
2、转发的地址或端口错误也不会有提示。注意检查!

原文地址:
http://t.zoukankan.com/insane-p-13167477.html
https://www.cnblogs.com/f-carey/p/16589078.html

Related Posts