(windows)netsh端口转发

557 阅读2分钟

这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

山有峰顶,海有彼岸,漫漫长路,终有回转,余味苦涩,终会有回甘。别被眼前的磨难打败了,或许光明就在你放弃前的那一刻。带着愉快的心情做一个愉快的梦,醒来后,又是新的一天。

背景:

今天遇到了一个端口转发的问题.在Window服务器(命名为X)上部署了一个Linux虚拟机(命名为Y),需要外部电脑访问X的80端口的时候能够直接转发到Y的80上.

当时百度出来netsh命令,使用过程中遇到了几个规则性的问题,现在在此记录.

复盘:

将X的80端口转发到Y的80端口,需要从两个层面考虑

  1. 内网ip的转发,它能让在X机器上所有访问80端口的程序直接能访问到Y上的80端口的信息
  2. 外网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

资料

www.cnblogs.com/-qing-/p/10…. html

cmd命令行中 netsh ?


这个系列的文章,总体来说是一些杂乱的记录.

其中的内容可能是在之前某个需要的时候记录下来的,当时需要,当时很有用.

但是在后续更多的时间里,他被封禁到了小角落.

你看不看,他都在那里,他并非一无是处.

    作者:ZOUZDC
    链接:https://juejin.cn/post/7028963866063306760
    来源:稀土掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。