PortWay内网穿透工具使用介绍

PortWay的背景

我相信做过客户远程支持的同学都有这么痛苦的经历:为了去查询一个问题,你得让客户的IT开个QQ远程控制给你,然后再通过他的QQ远程连接到服务器的远程桌面,然后再在服务器的远程桌面上打开各种管理工具,然后就痛苦看着糊成一团的画面,小心谨慎的敲下键盘上的每个字母并等着这些字母在客户服务器的屏幕上逐个显示出来…………

我们也用过动态域名+路由器端口映射,但是这个风险太高,稍有常识的客户网管直接会毙掉这种支持方案。后来也让客户网管在服务器上装TeamViewer,但是要么运行得慢,要么TeamViewer直接傲娇的告诉你,“疑似商业使用”,给你来个使用5分钟就断线。最后用得最多的还是QQ远程,但是效率极低。

最重要的是,当你需要开发定位BUG时,你会发现最有效率的方式还是带上完整的开发环境去到客户现场,接入客户的网络,然后打开开发工具直接调试。而对于实施来讲,如果你需要帮客户调整一个配置,你可能需要远程搞上大半天才能搞定,如果碰上客户太忙的话,你会发现时间完全是被浪费掉的。


PortWay能做什么

说了那么多,PortWay到底能做什么?

PortWay我写的一款内网穿透工具,用GoLang开发,主要是就为了让实施或是开发像在客户现场一样去完成自己的工作,PortWay支持以下两种方式的内网穿透:

一. Http穿透

在局域网内(例如公司网络)运行一个Agent工具,就可以将你局域网内的http网站(例如oa/crm之类的)发布到公网,让大家可以在互联网上方便的访问,不需要做路由器配置,更不需要做防火墙及动态域名配置。

二. TCP穿透

在局域网内(例如公司网络)运行一个Agent工具,然后带到电脑在其他可访问Internet的地方(比如我们装逼常去的星巴克)运行一个Proxy,然后你就可以像在局域网里面一样,随意访问你的数据库/OA/ERP等等(只要是基于TCP网络端口的服务)。这个过程不需要vpn,更不需要远程桌面。



PortWay如何使用

1. PortWay下载

链接:https://http://pan.baidu.com/s/1xRT_qPgc4BS5GyZc3vogFg

提取码:z84y

之前只放了windows版本,现在更新了win/linux/mac的版本,如果只需要在windows上使用,下载portway-win就可以,如果需要在linux/mac上使用,可以下载portway-full。比如:你如你使用NAS,可以下载portway-full,然后找到linux版本的agent,放到你的NAS上启动时运行就可以:)

2. 使用说明

PortWay是绿色软件,不需要安装,也没有组件依赖,下载解压后就可以运行。


2.1 Agent使用说明

agent 是在你需要访问的局域网内部运行。对于实施或是开发人员来说,通常会把agent运行在客户内网的机器上。agent 相当于在局域网内网安装了一个转发器,这个转发器有自己的编号,我们称之为 “tunnel” 或是 “信道标识”。我们可以看看 tunnel 的配置,我们打开agent目录下的app.ini,这个就是agent的配置

在agent的app.ini中,有两个配置节点

2.1.1 setting节点设置中央服务器及tunnel

center_host=gw.isuf.cn   
center_port=80

这个是我提供给大家的中央服务端,我安装在朋友的服务器的80端上,大家可以先免费使用,都不要告诉他:),也就是说这里的配置大家没有必要去修改。

tunnel=<you_tunnel_tag>

这个是用来设置 tunnel 标识,你也可以不设置,不设置的话,等于号右侧留空就行,启动时系统会自动分配标识,就像是TeamViewer的ID一样。

自定义的tunnel标识请全部小写,不然Http转发可能会失败

需要注意的是,由于我是免费提供中央服务端给大家使用,所以我没有校验tunnel,只认为是最后连接的有效。也就是说,如果你先打开了agent,如果别人的tunnel跟你的tunnel一样,那么你会被系统踢下线。

2.1.2 httpmap节点设置需要发布到公网的内网网站

[httpmap]
k3=127.0.0.1:80

我们来看看这个简单的配置,这里启用了一个http发布,发布了前缀为k3的站点,指向局域网的127.0.0.1:80。
如果我们的tunnel标识为 rogertong,那么,启动agent后,你就可以通过 http://k3.rogertong.iotube.cn 来访问你的局域网网站了,iotube.cn是固定的,这是我提供出来的域名。
我们做个简单的演示,比如我的局域网内有一台IIS服务器 http://192.168.151.58,我想用rogertong做为我的信道标识,那么我这可以样发布:

这里要注意:自定义的tunnel标识请全部小写,不然Http转发可能会失败

[setting]
center_host=gw.isuf.cn
center_port=80
tunnel=rogertong

[httpmap]
k3=192.168.151.58:80  


我们可以看到映射已经生效了,已经可以顺利的通过公网访问内网的IIS服务


2.1 Proxy使用说明

我们在前面说过,如果你在局域网内启动了Agent,那么就可以Proxy访问局域网络内部的所有TCP服务,Proxy会通过中央服务端告诉Agent需要访问哪些服务,所以Proxy的配置稍微复杂一些,我们看一个完整的proxy所对应的配置文件app.ini

[setting]
center_host=gw.isuf.cn
center_port=80
tunnel=rogertong

[tcpmap]
radmin=true
mssql=true

[radmin]
server_ip=127.0.0.1
server_port=4899
local_ip=0.0.0.0
local_port=48990

[mssql]
server_ip=127.0.0.1
server_port=1433
local_ip=0.0.0.0
local_port=1433 

setting节点部份的配置跟agent一样,这里的tunnel用于指明当前的proxy使用哪个tunnel信道,服务端依据信道会将proxy与agent配对。
tcpmap节点,用于确认哪些端口映射配置生效,必须有对应的端口映射配置节点
上面示例中的 radmin / mssql 则是端口映射配置节点,表示需要在proxy所在的机器上,建立镜像端口,这个镜像端口收发的所有数据,都会经指定的信道,传输给agent所在局域对应的服务器,看图示:

例如: 我运行agent局域网内有台服务器192.168.151.88开启了windows远程桌面服务(tcp3389),同时也有一个MSSQL数据库服务在这台服务器运行,agent的tunnel标识为rogertong。我想连192.168.151.88的远程桌面,那么我的proxy可以这样配置

[setting]
center_host=gw.isuf.cn
center_port=80
tunnel=rogertong

[tcpmap]
rdp=true
mssql=true

[rdp]
server_ip=192.168.151.88
server_port=3389
local_ip=0.0.0.0
local_port=33890 

[mssql]
server_ip=192.168.151.88
server_port=1433
local_ip=0.0.0.0
local_port=1433   

提示:由于上面的配置中需要用到本机的1433端口,所以如果你需要连接到客户192.168.151.58的MSSQL数据库的话,记得关闭自己机器上的MSSQL数据库服务

那么,我在自己的机器上运行proxy后,我就可以在自己的机器上通过连 127.0.0.1:33890,就可以访问到 192.168.151.88 的远程桌面了


此时如果需要连接192.168.151.58的MSSQL数据库,也可以像访问本机数据库一样访问:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342