内网穿透家中的Armbian,开机自启动
本教程搬运https://www.cpolar.com/blog/intranet-penetrates-the-raspberry-pi-at-home,其中做了适用于Armbian的改动而已。
本教程介绍如何在Armbian中,安装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.在cpolar配置文件中,添加ssh内网穿透隧道
除了在cpolar命令行中,我们还可以在配置文件中添加多个隧道。这样多个隧道可以同时启动。
本例中,我们添加一个web隧道,一个ssh隧道
编辑cpolar的配置文件
nano ~/.cpolar/cpolar.yml
在文件下面,我们编辑成如下内容:
authtoken: YzNmYmUzOTctODMxNyxxxxxxxxxxxxxxxxxTZkNjczOGM3
tunnels:
web:
addr: 8080
proto: http
region: cn
ssh:
addr: 22
proto: tcp
region: cn
注:这里的配置文件是yaml格式,每一级的参数前面,会缩进两个空格,不能使用TAB键,不能使用TAB键,不能使用TAB键。(重要说三遍)
7.测试是否配置成功
cpolar start-all
如上图,则配置成功,如果提示某行错误,请根据行号及报错信息修改。
8. 后台运行cpolar
nohup cpolar start-all -config=/home/pi/.cpolar/cpolar.yml -log=stdout &
9. 验证后台是否运行正常
ps -aux | grep cpolar | grep -v grep
根据后台的进ID,杀掉后台运行的cpolar进程,本例如图中的28440,即为cpolar的后台进程ID
杀掉cpolar后台进程
kill 28440
10. 配置开机自启动脚本
编辑开机脚本
sudo nano /etc/rc.local
在exit 0前面,加入
nohup cpolar start-all -config=/home/pi/.cpolar/cpolar.yml -log=stdout &
如图:
保存退出
重点来了!
接着需要参考armbian开机自启动配置https://www.jianshu.com/p/beb25e870148
sudo nano /lib/systemd/system/rc.local.service
在最后添加下面三行内容
[Install]
WantedBy=multi-user.target
Alias=rc.local.service
然后ctrl+s保存并ctrl+x退出
11. 重启
sudo reboot
12. 重启后查看是否成功
ps -aux | grep cpolar | grep -v grep
13. 查看在线的隧道
访问cpolar后台的状态页面:http://dashboard.cpolar.com/status