netsh端口转发
创建时间: 2020年11月9日17:48:28
最后修改时间:2020年11月9日18:05:27
背景:
今天遇到了一个端口转发的问题.在Window服务器(命名为X
)上部署了一个Linux虚拟机(命名为Y
),需要外部电脑访问X的80端口的时候能够直接转发到Y的80上.
当时百度出来netsh命令,使用过程中遇到了几个规则性的问题,现在在此记录.
复盘:
将X的80端口转发到Y的80端口,需要从两个层面考虑
- 内网ip的转发,它能让在X机器上所有访问80端口的程序直接能访问到Y上的80端口的信息
- 外网ip的转发,它能让其他机器访问X的80端口时,能直接访问到Y上的80端口的信息
当时我只设置了内容1,后台其他人通过其他电脑访问的时候发现仍然不通才发现了这个问题.
在这里内网和外网的概念是以本机为观察点的,具体的内外网概念可能不同.
netsh的使用
转发端口
将内网ip的转发/外网ip的转发
listenaddress/listenport: 监听ip/端口
connectaddress/connectport: 转发ip/端口
这里将端口代理到其他ip的端口上,如果是代理到本机的其他端口,则listenaddress和connectaddress保持一致即可
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=80 connectaddress=192.168.111.112 connectport=80
netsh interface portproxy add v4tov4 listenaddress=172.16.31.71 listenport=80 connectaddress=192.168.111.112 connectport=80
删除指定转发规则
这里删除的是监听ip是127.0.0.1 端口是9898的规则
netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=9898
查询所有的转发规则
netsh interface portproxy show all
资料
https://www.cnblogs.com/-qing-/p/10707991.html
cmd命令行中 netsh ?