前两天在树莓派上装好了Samba和minidlna,在局域网内实现了文件共享和家庭影院。(详见上一篇博文)
可是,单纯只能局域网访问,并不能满足我的需求。网上找了一圈,可提供的方法我都不可用。就在这时,看到一篇介绍cpolar做内网穿透的博文。看起来可行,于是就照着博文的方法动手安装了起来。具体操作步骤如下:
1.使用一键安装脚本
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
安装完成输入 cpolar version 查看版本信息,正常的话应该如下图。
2.进行token认证,登录 cpolar的官网,注册一个账号,然后进入后台点击“验证”菜单,获取token。
然后再回到树莓派的terminal上输入验证:
cpolar authtoken xxxxxxxxxxxxxxxxxx
3.配置cpolar服务开机自启
sudo systemctl enable cpolar #开机自启
sudo systemctl start cpolar #启动cpolar
sudo systemctl status cpolar #查看进程状态
完成上述三步后,得到如下图结果,就说明cpolar启动成功。
4.查看映射到公网的隧道地址
在cpolar官网后台-状态菜单可以查看隧道地址。安装成功后会看到三个,分别对应一个是Website的http、https(都是8080端口),ssh的tcp22端口 。
接下来,就要设置公网访问samba了。Samba的端口是tcp445,所以,在terminal输入如下代码:
cpolar tcp 445
(悄悄地告诉你,我现在就是通过ssh隧道用手机在操作)
然后就可以生成一个访问445端口的隧道地址,在官网后台状态菜单可以查询到这个新建地址。
在mac,linux输入smb://你的地址,或者在nplayer新建new server-smb服务器中输入这个地址,你就可以通过公网访问自己的树莓派NAS了。有点可惜的是,windows不能通过上述方式直接访问。
用同样的方法,还可以设置vnc(tcp5900)或者website(http80)等隧道地址。
最后,需要提醒大家的是,这些除了三个默认的cpolar隧道地址外,其他临时设置的隧道会在你关闭termial后消失。而三个默认地址也会在重启树莓派后变更地址。