最近有一个需求,有某台内网服务器的程序,由于业务需求该服务器不能布置在公网上,且该业务只能运行于该服务器。(对,就是有那么奇葩的需求。)最开始想通过公网服务器安装路由解决,后发现太麻烦,无意中接触到netsh interface portproxy该命令,有如神助。
一. 问题描述
A (内网:192.168.88.100)服务器连接在公网上
B (内网:192.168.88.110)服务器位于内网中
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
————————————————
版权声明:本文为CSDN博主「x024」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hx7013/article/details/79786407
Copyright © 2013-2021 All Rights Reserved. 冠邦科技 版权所有 澧县冠邦信息技术服务中心 湘ICP备20007608号-1