公司将内网地址代理到外网,使用的都是ngrok,之前一直没有研究,今天想将其用于远程桌面连接中,于是研究了一下,本文内容如标题所示。
1、ngrok简单介绍
ngrok 的官网为https://ngrok.com ,从上面可下载各系统的版本,windows版本的是一个命令行程序。ngrok authtoken 命令为绑定账号命令,这样就能在外网网页上看到你的代理状态,这一步是可选的,因为还有个内网监控网页。简单使用命令 ngrok http 80 就能将80端口代理出去了。
服务端使用的是ngrok官方的服务,你可以搭建自己的服务,编译自己的版本,这些内容不在本文讨论范围。
2、配置ngrok
参考《ngrok 在 Windows 上内网穿透(网站 + 远程桌面连接)配置》一文,文中有些部分实测不成功,本人亲测进行修正。
还记得绑定账号命令ngrok authtoken吗?当我执行完后,它在当前用户文件夹的 .ngrok2 文件夹中新建了一个 ngrok.yml 配置文件,并在里面写入了账号相关信息(authtoken 项):
这样的话,我们关于远程桌面连接的配置信息可以自己建个配置文件,或者就使用这个 ngrok.yml 配置文件。
上面提到的文章中,配置信息有错误,或者是不适用于当前版本(2.2.8)。
正确的配置信息如下:
authtoken: 5NShLN(手动马赛克)Jx44mq3NNem
tunnels: remote_port: 3389 proto: tcp addr: “127.0.0.1:3389” |
我们在隧道集中添加了一个叫 mstsc 的隧道,它将远程桌面使用的3389端口转发进来,使用tcp协议。(注意:该配置文件中应使用空格,而不应使用tab,否则会报错。)
然后,我们就可以启动了。
使用命令 ngrok start mstsc 来指定隧道名启动,如果有多个隧道名,则以空格分隔。
启动成功的结果如下:
ngrok by @inconshreveable (Ctrl+C to quit)
Session Status online Account LIUHONG WEI (Plan: Free) Version 2.2.8 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding tcp://0.tcp.ngrok.io:13379 -> 127.0.0.1:3389
Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00 |
其中的 Forwarding 就是转发地址,每次重新启动都会重新分配。
此时,我们将地址填入远程桌面(mstsc)中就能远程连接了:
如果想使用自定义配置文件,可在 ngrok.exe 目录新建文本文件 ngrok.cfg ,并将配置信息写入。注意:要在自定义配置中使用 TCP 隧道,则 authtoken 信息也要一起拷入。
然后就可以使用命令ngrok start –config ngrok.cfg mstsc 来启动 ngrok.cfg 配置文件中的mstsc 隧道。
也可以将这个命令写在 start.bat 批处理文件(新建的文本文件)中,以便快捷启动。
3、【附】开机自启
参考《Windows 添加自定义服务、批处理文件开机自启动方法_Wayne_WH_新浪博客》
【Windows 添加自定义服务方法】:
1、使用 Windows 服务工具 instsrv.exe 与 srvany.exe:
参考:https://wenku.baidu.com/view/44a6e6f8941ea76e58fa045a.html
2、SC 命令创建、开启、配置、关闭服务:
参考:http://blog.csdn.net/moruna/article/details/9190733(《SC 命令 — 安装、开启、配置、关闭 windows 服务 bat 批处理》)
【批处理文件开机自启动方法】:
1、组策略中新建自启动批处理文件:
首先,你可以在一个地方建立一个 BAT 文件,比如在 D:\test.bat,BAT 内容为 mkdir r:\Safari。然后,打开 gpedit.msc,选择左侧”本地计算机策略”——”用户配置”——”Windows 设置”——”脚本 (登录 / 注销)”,再双击右侧 “登录”,在弹出来的窗口里找到”添加” 按钮,选择脚本路径就为 D:\test\bat,脚本参数不用填写,之后按确定就可以了。
2、将 bat 文件注册成为系统服务:
参考:http://blog.csdn.net/dengzhongmingabc/article/details/41908641
4、伸手党特供
使用批处理转 EXE 工具 Quick Batch File Compiler 制作了启动 start.bat 的 start.exe,按照《SC 命令 — 安装、开启、配置、关闭 windows 服务 bat 批处理》制作了添加、停止、删除服务的三个批处理文件(SC_Start.bat 中的exe文件路径需按需修改),最后的目录结构如下:
点击 SC_Start.bat 可添加服务到系统中:
最后说明:
1、服务管理的三个批处理文件需要以管理员身份运行。
2、打包文件中配置文件里的账号信息需替换成你自己的。
打包文件:http://dlgcy.qiniudn.com/zip/ngrok和远程桌面配置_dlgcy.zip
原创文章,转载请注明: 转载自 独立观察员(dlgcy.com)
本文链接地址: [使用ngrok从外网连接内网的远程桌面](https://dlgcy.com/ngrok-mstsc/)
关注微信公众号 独立观察员博客(DLGCY_BLOG) 第一时间获取最新文章
发表评论