在之前的使用 netsh 在有限的家庭 NAT 网络条件下配置备份服务器这篇文章中,使用到了Windows下的Network Shell(netsh)来转发局域网内的流量,但其中并没有详细说明netsh的端口转发功能的使用方法所以再写一篇文章来介绍netsh中端口转发的命令使用方法
创建端口转发命令
命令
#通过IPv4代理转发IPv4计算机流量
netsh interface portproxy add v4tov4
#通过IPv4代理转发IPv6计算机流量
netsh interface portproxy add v6tov4
#通过IPv6代理转发IPv4计算机流量
netsh interface portproxy add v4tov6
#通过IPv6代理转发IPv6计算机流量
netsh interface portproxy add v6tov6
命令语法
以IPv4转发IPv4为例
netsh interface portproxy add v4tov4 [listenport=]<integer>|<servicename>
[connectaddress=]<IPv4 address>|<hostname>
[[connectport=]<integer>|<servicename>]
[[listenaddress=]<IPv4 address>|<hostname>]
[[protocol=]tcp]
参数
标记 | 值 |
---|---|
listenport | IPv4 侦听端口(代理机器使用的端口) |
connectaddress | IPv4 连接地址(被代理机器的IP地址) |
connectport | IPv4 连接端口(被代理机器使用的端口) |
listenaddress | IPv4 侦听地址(代理机器的IP地址) |
protocol | 使用的协议。现在只支持 TCP。 |
样例
将192.168.137.2的88端口转发到本地计算机任意IP的80端口
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=80 connectaddress=192.168.137.2 connectport=88
将本地计算机8080端口转发到本机192.168.1.44的80端口
netsh interface portproxy add v4tov4 listenport=80 connectaddress=192.168.1.44 connectport=8080
将192.168.1.44的80端口转发到52.148.33.12的443端口(可以理解为双网卡,一个接入局域网,一个直接接入公网)
netsh interface portproxy add v4tov4 listenaddress=52.148.33.12 listenport=443 connectaddress=192.168.1.44 connectport=80
显示已转发的端口
#显示所有已转发的端口
netsh interface portproxy show all
#显示所有v4转v4的端口转发
netsh interface portproxy show v4tov4
#显示所有v4转v6的端口转发
netsh interface portproxy show v4tov6
#显示所有v6转v4的端口转发
netsh interface portproxy show v6tov4
#显示所有v6转v6的端口转发
netsh interface portproxy show v6tov6
修改端口转发规则
命令
#更新通过IPv4代理转发IPv4计算机流量规则
netsh interface portproxy set v4tov4
#更新通过IPv4代理转发IPv6计算机流量规则
netsh interface portproxy set v6tov4
#更新通过IPv6代理转发IPv4计算机流量规则
netsh interface portproxy set v4tov6
#更新通过IPv6代理转发IPv6计算机流量规则
netsh interface portproxy set v6tov6
命令语法
netsh interface portproxy set v4tov4 [listenport=]<integer>|<servicename>
[connectaddress=]<IPv4 address>|<hostname>
[[connectport=]<integer>|<servicename>]
[[listenaddress=]<IPv4 address>|<hostname>]
[[protocol=]tcp]
参数
标记 | 值 |
---|---|
listenport | IPv4 侦听端口(代理机器使用的端口) |
connectaddress | IPv4 连接地址(被代理机器的IP地址) |
connectport | IPv4 连接端口(被代理机器使用的端口) |
listenaddress | IPv4 侦听地址(代理机器的IP地址) |
protocol | 使用的协议。现在只支持 TCP。 |
删除端口转发规则
命令
#删除通过IPv4代理转发IPv4计算机流量规则
netsh interface portproxy delete v4tov4
#删除通过IPv4代理转发IPv6计算机流量规则
netsh interface portproxy delete v6tov4
#删除通过IPv6代理转发IPv4计算机流量规则
netsh interface portproxy delete v4tov6
#删除通过IPv6代理转发IPv6计算机流量规则
netsh interface portproxy delete v6tov6
命令语法
netsh interface portproxy delete v4tov4 [listenport=]
[[listenaddress=]<IPv4 address>|<hostname>]
[[protocol=]tcp]
参数
标记 | 值 |
---|---|
listenport | IPv4 侦听端口(代理机器使用的端口) |
listenaddress | IPv4 侦听地址(代理机器的IP地址) |
protocol | 使用的协议。现在只支持 TCP。 |
参考资料
Netsh Technical Reference Documents
转载请标注来源