前言
- 使用内网穿透技术,我们出差或者在家,就可以直接访问到公司的电脑或者内网网站,实现远程办公。也可以将我们自己在局域网内搭建的网站暴露出去,让所有人都可以直接访问到。
- 本文章主要介绍下内网穿透工具Ngrok和NATAPP。
内网穿透工具概览
- Ngrok
- 开源,老牌穿透工具
- NATAPP
- 免费隧道,提供http,tcp,udp全隧道穿透。收费隧道,提供不限流量,自定义域名等功能。
NATAPP使用教程
-
在官网先注册,然后登录。登录后,会有一个购买隧道菜单,可以购买一个免费隧道。需要进行实名认证。
-
在这起一个名称,可以购买两个不同协议的隧道,Web协议主要用于访问网页,TCP协议主要用于远程连接。指定你要映射的本地端口,然后点击免费购买。
-
购买之后在下方会有显示。我这里购买了一个Web隧道协议和TCP隧道协议。这里的authtoken最好不要公开,一会启动程序的时候要使用这个。
-
点击后面的配置,可以修改端口和名字。免费隧道不支持https,如果要使用,可选择购买付费隧道。
-
访问局域网服务器
-
上面配置好后,在官网首页下载客户端
-
这里先下载一个Linux 64位的客户端,下载后把程序拷贝到Linux服务器上。
-
在终端直接执行命令 ./natapp -authtoken=********1ae0,这里authtoken值可以在配置页面看到。
-
执行命令后,看到以下信息,说明启动成功了。这里我涂掉的地址不要随意公开,这样别人可以直接访问到。
-
执行命令的这台机器,搭建了一台jenkins服务器,8080是jenkins的默认访问端口。
-
直接使用手机访问涂掉的这个地址,手机使用的是流量,跟jenkins服务器肯定不在同一个局域网网段内。可以看到,使用手机可以直接访问到jenkins页面,也可以进行正常登录等操作。
-
远程连接局域网电脑
-
如果要使用远程桌面工具连接局域网内的电脑,需要使用到TCP隧道协议,远程桌面的默认连接端口为3389。
-
然后下载windows客户端,在cmd终端执行命令 natapp.exe -authtoken=********23d8
-
有以下打印,说明启动成功了
-
我们在另一台电脑上,使用mstsc命令打开远程桌面连接工具,输入上面的我涂掉的地址和端口号,以及用户名和密码。就可以远程连接到这台电脑上了。
-
不使用的时候,最好将内网穿透工具关闭掉,防止别人攻击你的电脑。
Ngrok使用教程
-
先注册一个用户,然后登录。
-
在官网主页这里下载Ngrok客户端,选择你要下载的平台。我这里以linux amd64平台为例讲解。
-
然后再用户管理界面,需要认证一次。这里认证需要收费2块钱。
-
购买后,要在这里进行实名认证
-
实名认证通过后,开通隧道菜单项就会有以下隧道购买渠道。最后一个美国Ngrok免费服务器是免费的,测试可以使用这个。可以看到相比其他收费隧道,带宽和网速都很低,使用过程中可能很不稳定。如果平时在学习和工作中要使用到,建议还是购买收费的。这个价格是月费,可以按年购买。
-
购买后填写配置信息,选择隧道协议,填写隧道名称,前置域名等信息。
-
填写完相关配置确定添加后,隧道管理菜单项就有你设置的隧道信息了。
-
然后解压我们刚才下载的客户端压缩包,在终端执行命令 ./sunny clientid 隧道id,隧道id就拷贝上面的。
-
看到以下打印,说明启动成功了
-
经过测试,使用手机直接访问这个域名。内网穿透成功。windows平台上使用步骤基本一致,这里也就不介绍了。