【windows】netsh创建的portproxy端口转发映射

应用场景:

从北京公司网络到成都分公司办公网络中,创建了一个独立的ssl-vpn账号,可以访问北京办公网络中的svn代码库;

采购的深信服sangfor的vpn设备license授权的ssl账户只有五个,所以节省只给分配一个账户,并且有同事在线的限制;

请问,如何实现让成都的研发同事能够通过这一个vpn账号,共同访问svn资源呢?

上篇文章里,总结了关于linux的ssh隧道转发大穿越,显然完全可以符合并满足这个需求。

但成都的同事比较惨淡,内部机房没有多余的linux服务器用来做隧道了,只有一台win server 的测试服务器。

今天,就跟随博主来总结并学习,如何通过在windows系统来实现端口的映射转发

®netsh的portproxy端口映射转发配置步骤:

首先确认一下网络(模拟):

北京办公网:192.168.1.0/24、svn服务:192.168.1.66:3690

成都办公网:192.168.2.0/23、win跳转机:192.168.2.38

现在,我在2.38服务器上创建端口转发,成都其他同事通过2.38访问北京的svn服务资源;

(vpn的链接就不说了,ssl的vpn登陆客户端,两边网络变直连,即2.38可以直接访问1.66的3690端口)

>netsh interface portproxy add v4tov4 listenaddress=192.168.2.38 listenport=19630 connectaddress=192.168.1.66 connectport=3690

如此将本地的19630端口转发至192.168.1.66的3690端口,我们便可以在其它pc上通过访问192.168.2.38:19630从而访问192.168.1.66:3690;

思考

netsh interface portproxy 即windows下的端口转发功能;add、添加转发条目

v4tov4、表示转发通过ipv4的ipv4和代理链接接受的侦听项目,也可以认为是ipv4到ipv4的协议转发;

listenaddress、监听ip,监听本地可忽略;

listenport、本地监听服务端口;

connectaddress、转发目标的ip;

connectport、转发目标的监听服务端口;

除此之外:

delete、删除跳出;set、修改条目;show、查看条目;

>netsh interface portproxy delete v4tov4 listenaddress=192.168.2.38 listenport=19630
>netsh interface portproxy set v4tov4 listenport=19630 connectaddress=192.168.1.66 connectport=22
>netsh interface portproxy show all

当然如果不好用,我们可以检查一下防火墙是否关闭也可以直接使用命令关闭防火墙:

>netsh firewall set opmode disable

有没有发现,相比于linux的ssh隧道大穿越,windows的netsh端口转发,显得有点单薄了,要知道linux的ssh隧道,有中间服务器,是建立在已经存在ssh链接上的转发原理,相比于windows的netsh是建立在本地操作系统的转发,当然更加灵活。

那么linux中,有没有类似的单纯的端口转换呢,答案是肯定的;下一篇文章,博主将和大家一起分享另一个工作实例场景中:

是用linux的iptables创建dnat端口转发、从而实现无公网ip通过其它主机访问相应的外部资源;

(好的就分享到这里,如果您有高见或好的分享,记得留言哦!)


原创文章,转载请注明:转自于公牛博客

本文链接地址:【windows】netsh创建的portproxy端口转发映射

8
祝福我们的祖国繁荣昌盛
  • 请尽情挥洒您的笔墨!