ubuntu第七讲:内网穿透
陆陆续续完成了前面六章内容,今天讲讲如何实现外网访问内网,也就是俗称的内网穿透。
为了本地局域网内数据的安全,局域网与外网(广域网)之间的通讯是有一定限制的。局域网可以访问外网,最典型的就是网页浏览。而外网一般是无法主动访问内网的,这样就做到了局域网内数据的安全。但是我们也经常会有一些远程访问的需求,例如todesk/向日葵等软件就是帮助大家从外网远程连接到内网的工具。另外nas设备一般厂家也都提供外网访问工具(软件)。但是这些软件可能还满足不了我们的需求,例如之前我们搭建了私人影视服务器,如果出差在外想看家里的电影怎么办呢?本文介绍一款内网穿透工具cpolar。
为什么需要内网穿透?
对于大多数个人来说,无非就是随时可以读取到家里电脑上的资料文件。不管是用第三方商业软件还是自己折腾开源软件,本质上都是一致的。
重要提醒本文演示的内网穿透工具名称是cpolar,该软件有中文网站和服务团队,相对比较容易上手。本文仅限于技术交流,不代表推荐该软件。
注册打开cpolar网站,注册一个新账户,获取authtoken。网站提供有限功能的免费版,作为研究学习,免费版已经够用。
下载cpolar可执行文件下载cpolar文件,解压缩后获得一个cpolar可执行文件。
下载地址:https://dashboard.cpolar.com/get-started
安装及配置下载下来的文件可以存在任何地方,我就直接在下载目录下解压缩了。
在cpolar所在文件夹内打开终端,运行
./cpolar authtoken XXXXXXX
注:上面这行代码内容请查阅自己账户,每个账户应该都是不同的!
实例演示emby,通过外网远程浏览本地视频运行./cpolar http 8096 #在端口8096上启动http隧道。看过之前教程的都知道8096是emby影视服务器的端口号。
运行结果如下图所示。生成2个替代(转发)网址,一个是http另外一个https。
另外找一台手机,关闭wifi网络,打开数据流量上网,模拟外网访问。打开浏览器输入上面终端窗口中给出的转发网址。本例为http://2c820fa.r8.vip.cpolar.cn,网页能打开,说明设置成功!
实例演示xrdp,通过外网远程连接xrdp是一个非常棒的远程桌面软件,被控端不需要显示器也能使用!详见《ubuntu第三讲:远程连接》
我们知道xrdp使用tcp 3389端口,下面我们借助cpolark开启tcp3389隧道。
运行./cpolar tcp 3389,如下图所示,相关隧道已经建立。
通过网站能看到当前工作状态(https://dashboard.cpolar.com/status)
打开windows的远程连接软件,输入tcp隧道URL地址,用户名和登录密码与常规设置一样。
顺利完成登录。
到此为止,基本的内网穿透功能已经完全实现。
总结一下1.使用cpolar网站提供的服务,注册账户,并获取authtoken。
2.下载cpolar,注册软件。运行./cpolar authtoken ********,此处输入您专属的authtoken。
3.运行./cpolar http 8096 #开启http 8096端口
4.运行./cpolar tcp 3389 #开启tcp3389端口
完成内网穿透,实现远程在线观看家里电脑内的视频(结合emby)和远程桌面(结合xrdp)的功能。
cpolar高级应用上文介绍了cpolar的基本用法,如果需要开启多个隧道,假设每条隧道的设置都要输入命令就会比较麻烦,效率也比较低。有没有集中管理的办法?当然是有的,就是修改cpolar.yml配置文件。
打开/home/用户名/.cpolar/cpolar.yml,添加相关端口号,退出并保存。
运行./cpolar start-all,cpolar.yml内配置的2个隧道已经启动。
其他杂项
解决关闭终端后cploar自动掉线问题。用nohup命令来运行cpolar,启动成功后可以关闭终端,cpolar进程不会掉线。
例如运行nohup ./cpolar start-all -log=stdout -loglevel=ERROR & #nohup默认会在当前目录创建nphup.out日志文件。(见下图)
注:-loglevel=ERROR这个参数是设置日志的级别,也可以不设置,就是日志文件会比较大。
注:该条命令运行后并没有出现任何提示,可登录cpolar网站后台查看状态。
查看cpolar进程,并手动关闭。ps -ef | grep cpolar #查看进程(见上图)
kill -9 3537 #在本例中进程号是3537,请根据实际情况设定(见上图)
开机自启动cpolar详见《ubuntu第八讲:自启动管理》
本文总结:1.注册并下载cpolar程序。
2.编辑cpolar.yml文件,添加需要开通的端口。本例开通http 8096 和tcp3389两个端口,实现远程观看影视和远程登录。
3.用nohup ./cpolar start-all 命令启动cpolar,启动后关闭终端窗口,不影响cpolar程序进程。
(本文结束)
导读指南白学ubuntu系列,目前已经整理了八章内容,我会逐一发布。
ubuntu第一讲:系统安装及初体验
ubuntu第二讲:常用软件推荐与安装
ubuntu第三讲:远程连接
ubuntu第四讲:文件共享
ubuntu第五讲:搭建影音服务器
ubuntu第六讲:硬件监测
ubuntu第七讲:内网穿透
ubuntu第八讲:自启动管理