本教程介绍如何在树莓派中安装cpolar,并且设置成开机自启动,这样就可以远程任意地方内网穿,访问家中的树莓派。
1. 首先从官网下载最新的cpolar
wget https://www.cpolar.com/static/downloads/cpolar-stable-linux-arm.zip
2. 解压缩
unzip cpolar-stable-linux-arm.zip
3. 将cpolar命令移到 /usr/local/bin目录
sudo mv cpolar /usr/local/bin
4. cpolar进行token认证
登录到cpolar后台,获取到自己的token值,然后复制到命令中,替换xxxxxxxx
cpolar authtoken xxxxxxxxxxxxxxxxxxxxxxx
配置文件会保存在 /home/pi/.cpolar/cpolar.yml,记录下该
路径
5. 前台测试
cpolar http 8080
如下图,就说明已经配置好了
命令参数说明
http 意思是创建一个http协议的隧道
8080 指定内网web站点的8080端口
按ctrl+C可退出。
6. 安装及配置vim
如果还没有安装vim,可以先安装
sudo apt install vim
7. 配置vim
我们先对vim做基本配置,目的是为了以防止稍后编辑时,多出TAB键。
vim ~/.vimrc
在配置文件末尾添加如下内容:
set tabstop=2
set softtabstop=2
set shiftwidth=2
set expandtab
8.在cpolar配置文件中,添加ssh内网穿透隧道
除了在cpolar命令行中,我们还可以在配置文件中添加多个隧道。这样多个隧道可以同时启动。
本例中,我们添加一个web隧道,一个ssh隧道
编辑cpolar的配置文件
vim ~/.cpolar/cpolar.yml
在文件下面,我们编辑成如下内容:
authtoken: YzNmYmUzOTctODMxNyxxxxxxxxxxxxxxxxxTZkNjczOGM3
tunnels:
web:
addr: 8080
proto: http
region: cn_vip
ssh:
addr: 22
proto: tcp
region: cn_vip
参数说明:
authtoken: xxxxx #认证token
tunnels:
web: #隧道名称,用户可以自定义,但多隧道时,不可重复
addr: 8080 #本地Web站点端口
proto: http #协议http
region: cn_vip #地区,cn_vip,可选:us,hk,cn,cn_vip
ssh: #隧道名称,表示ssh,名称可以自定义
addr: 22 #端口号为22
proto: tcp #协议tcp
region: cn_vip #地区,cn_vip,可选:us,hk,cn,cn_vip
注:这里的配置文件是yaml格式,每一级的参数前面,会缩进两个空格,不能使用TAB键,不能使用TAB键,不能使用TAB键。(重要说三遍)
9.测试是否配置成功
cpolar start-all
如上图,则配置成功,如果提示某行错误,请根据行号及报错信息修改。
10. 后台运行cpolar
nohup cpolar start-all -config=/home/pi/.cpolar/cpolar.yml -log=stdout &
11. 验证后台是否运行正常
ps -aux | grep cpolar | grep -v grep
根据后台的进ID,杀掉后台运行的cpolar进程,本例如图中的28440,即为cpolar的后台进程ID
杀掉cpolar后台进程
kill 28440
12. 配置开机自启动脚本
编辑开机脚本
sudo nano /etc/rc.local
在exit 0前面,加入
nohup cpolar start-all -config=/home/pi/.cpolar/cpolar.yml -log=stdout &
如图:
保存退出
13. 重启树莓派
sudo reboot
14. 重启后查看是否成功
ps -aux | grep cpolar | grep -v grep
15. 查看在线的隧道
访问cpolar后台的状态页面:http://dashboard.cpolar.com/status