FRP 内网穿透(旧版)
FRP 内网穿透(旧版)
ZhangCurry服务端程序下载安装运行
安装说明:https://gofrp.org/docs/setup/
首先登录系统,从网上下载frp软件:
https://github.com/fatedier/frp
版本选择 普通的amd内核的64位系统版本,系统版本可以通过命令查询到
1 | wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz |
解压:
1 | tar -zxvf frp_0.38.0_linux_amd64.tar.gz |
重命名:
1 | mv frp_0.38.0_linux_amd64 frp |
配置文件:
1 | vi frps.ini |
frps.ini文件内容,默认即可
1 | [common] |
服务端:防火墙放行端口7000、6000
启动服务端
正常启动
1 | ./frps -c ./frps.ini |
nohup启动,不保留日志
1 | nohup ./frps -c ./frps.ini >/dev/null 2>&1 & |
客户端(开发板linux)下载安装运行
注意版本
开发板一般是arm架构系统32/64位系统
32为ARM:https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_arm.tar.gz
64为ARM:https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_arm64.tar.gz
解压到 /opt/ 目录下
比如32位程序
修改配置文件frpc.ini
1 | [common] |
运行服务端
1 | ./frpc -c ./frpc.ini |
如果还有开发板客户端,就换个端口比如:6001,再来一次
远程登录开发板
使用SSH工具登录
- 用户名,密码:就是开发板上的用户名和密码
- IP地址:公网IP
- 端口:6000
设置客户端开机启动
为frpc配置systemd的service文件
1 | vi /usr/lib/systemd/system/frpc.service |
frpc.service文件内容
1 | [Unit] |
解释一下上面文件内容
- Wants:本单元启动了,它“想要”的单元也会被启动。但是这个单元若启动不成功,对本单元没有影响。
- Requires: 这个单元启动了,那么它“需要”的单元也会被启动; 它“需要”的单元被停止了,它自己也活不了。但是请注意,这个设定并不能控制启动顺序,因为它“需要”的单元启动也需要时间,若它“需要”的单元启动还未完成,就开始启动本单元,则本单元也无法启动,所以不建议使用这个字段。
- OnFailure:若本单元启动失败了,那么启动这个单元作为折衷。
- Before/After:指定启动顺序。
1 | Wants=network-online.target #其中network.target代表有网路,network-online.target代表一个连通着的网络。 |
使frpc服务生效
1 | systemctl daemon-reload |
设置服务端开机启动
在frps.service里写入内容
1 | vi /usr/lib/systemd/system/frps.service |
frps.service 内容
1 | [Unit] |
使frpc服务生效
1 | systemctl daemon-reload |
遇到的问题
树莓派配置了frpc服务,开机自启的时候失败,报错connect: Network is unreachable
出现这个的原因是运行frpc的时候尚未联网,导致frpc退出。
http://www.mmuaa.com/post/537d04e936b78620.html
frp 开机自启动,解决了网络依赖问题。
https://blog.csdn.net/programguo/article/details/108435717
systemd的设置详细,阮一峰的教程
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
设置完了就可以了



