2020
05-19

树莓派3使用frp内网穿透,CentOS 7服务器配置frp实现内网穿透工具

今天说下树莓派上利用frp实现内网穿透,下面说下树莓派上利用frp实现内网穿透需要准备些什么?

树莓派3 如果不能在外网控制树莓派系统,可玩性也就降低了。这里介绍用frp开源软件进行内网穿透,让你在外面也能控制树莓派系统。

树莓派3使用frp内网穿透

安装环境和需求

一台具有公网ip的服务器

一个域名

如果没有服务器和域名可以使用《zerotier内网穿透介绍及设置方法

内网客户端使用Raspbian Pi 3b,Raspbian Stretch

公网服务端使用CentOS 7的小鸡

服务端上的配置

(本人喜欢把所有应用放到/home目录下)

先来个好听的名字 比如frp

mkdir /home/frp
cd /home/frp

再来这里看一下坠新的版本是啥,我看的时候是0.14.1,服务端当然是选amd64啦

wget https://github.com/fatedier/frp/releases/download/v0.14.1/frp_0.14.1_linux_amd64.tar.gz

解压进去打开frps.ini

tar -zxvf frp_0.14.1_linux_amd64.tar.gz
cd frp_0.14.1_linux_amd64
vi frps.ini

官方文档有对frps.ini的完整介绍,但我们只要内网穿透,因此只要跟着加简单几句就好了

# frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080

保存退出后可以用下面的命令启动跑跑看

./frps -c ./frps.ini

出现Start frps success就好了,如果出错可以看看防火墙是否打开了相应端口

树莓派客户端上的配置

再来个好听的名字 比如还是frp

mkdir /home/frp
cd /home/frp

这次下载的就是arm版啦

wget https://github.com/fatedier/frp/releases/download/v0.14.1/frp_0.14.1_linux_arm.tar.gz

如果使用上面命令下载失败,可以进https://github.com/fatedier/frp/releases然后手动下载拖进树莓派/home/frp文件夹内

老规矩解压进去打开配置文件,但这个配置文件比服务端的复杂一点

tar -zxvf frp_0.14.1_linux_arm.tar.gz
cd frp_0.14.1_linux_arm/
vi frpc.ini

如果不想把ssh暴露在外网 可以全注释掉

输入

# frpc.ini
[common]
server_addr = x.x.x.x #这里是你的公网服务端ip
server_port = 7000

[web]
type = http
local_port = 80 #Web服务的本地端口
custom_domains = www.yourdomain.com #域名,记得要解析到公网服务端

装完就可以起飞了

./frpc -c ./frpc.ini

出现Start proxy success就可以了

打开浏览器输入http://x.x.x.x:8080试试看

似乎一定要保证服务端一直且先开着才能连接成功

使用nohup制作一键启动脚本

客户端

因为本地的ssh工具一退出 树莓派的frpc就会退出 因此要想个好办法

可以用nohup或screen命令来保证frpc后台稳定运行,这里选择使用nohup

新建一个frp.sh

vi frp.sh

因为有时需要看log,所以就不加>/dev/null 2>&1 &了

#frp.sh(cilent
nohup /home/frp/./frpc -c /home/frp/./frpc.ini &

设定权限后就可以起飞辣 777一劳永逸 去他妈的安全性(似乎应该用744)

sudo chmod 777 /home/frp/frp.sh
./frp.sh

服务端

同理,这里偷点懒,Xftp直接新建.sh权限改成744

#frp.sh(server
nohup /home/frp/./frps -c /home/frp/./frps.ini &

如果不用sftp软件的话需要

sudo chmod 777 /home/frp/frp.sh

运行试试

./frp.sh

完成!这样就可以不用大段指令手动开启frp了

通过netstat -antpl查看是否有有7000端口,但退出需要kill pid,用ps aux慢慢找进程吧..

开机启动(Systemd)

这里用Systemd管理服务 比init.d和上面的破脚本不知道高到哪里去了

sudo vim /lib/systemd/system/frp.service

创建frp.service,输入

#frp.service
[Unit]
Description=frp Service
After=network.target

[Service]
User=root
Type=simple
ExecStart=/home/frp/./frpc -c /home/frp/./frpc.ini
[Install]
WantedBy=multi-user.target

重载并设置开机启动

sudo systemctl daemon-reload
sudo systemctl enable frp

//启动命令

sudo systemctl start frp

//停止命令

sudo systemctl stop frp

//重启命令

sudo systemctl restart frp

//查看状态

sudo systemctl status frp

完成!

如无特殊说明,解压密码均为:aisoa.cn

您可能感兴趣的文章

支付宝打赏支付宝打赏微信打赏微信打赏