Windows自带的端口转发netsh interface portproxy

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hx7013/article/details/79786407

最近有一个需求,有某台内网服务器的程序,由于业务需求该服务器不能布置在公网上,且该业务只能运行于该服务器。(对,就是有那么奇葩的需求。)最开始想通过公网服务器安装路由解决,后发现太麻烦,无意中接触到netsh interface portproxy该命令,有如神助。

一. 问题描述

  1. A (内网:192.168.88.100)服务器连接在公网上
  2. B (内网:192.168.88.110)服务器位于内网中
  3. B服务器有一个使用9988端口的TCP程序需要被公网访问,但不能改变网络拓扑架构。

拓扑


二、问题解决

1. 新增端口转发:
首先打开命令提示符(cmd)
netsh interface portproxy add v4tov4 listenport=监听端口 connectaddress=转发到的地址 connectport=转发到的端口
例子: netsh interface portproxy add v4tov4 listenport=9988 connectaddress=192.168.88.110 connectport=9988

2. 查看转发了哪些端口
netsh interface portproxy show all

3. 删除转发规则
netsh interface portproxy delete v4tov4 listenaddress=192.168.88.110 listenport=9988


三、其它说明

1. 监听端口与转发到的端口可以不同。例如想暴露公网端口为19988,实际服务器端口为9988,那么可写成netsh interface portproxy add v4tov4 listenport=19988 connectaddress=192.168.88.110 connectport=9988

2. 能使用DMZ的情况还是推荐使用DMZ

3.使用netsh interface portproxy记得配置Windows和出口路由器防火墙规则

转载请注明出处:https://blog.csdn.net/hx7013/article/details/79786407

展开阅读全文

没有更多推荐了,返回首页