• 作者:老汪软件技巧
  • 发表时间:2024-10-07 11:02
  • 浏览量:

引言

frp官网

最近买了一块树莓派 zero 2w,想要它可以进行远程访问,所以想到了frp这个方案进行穿透,后期会使用树莓派搭建音乐服务器,本人手机内存有点小,xxxx云音乐太占空间,有兴趣的话可以关注后续。

一、准备工作

frp文件准备

一台已经可以内网访问的树莓派

一台云服务器(本人使用的京东云)

下载不同架构的frp脚本

使用命令查看架构

arch

x86_64:/fatedier/fr…

arm/aarch:/fatedier/fr…

注意:树莓派的架构和云服务的架构是不一样的,树莓派是arm架构,云服务器是x86_64架构的,下载frp的时候注意甄别

将frps、frps.toml通过SFTP上传至云服务

将frpc、frpc.toml通过SFTP上传至树莓派

!!!一定记住,这是两个不同压缩包的文件,再次提醒注意架构!!!注意架构!!!注意架构!!!

二、准备配置文件

服务端

注意:服务端的所有端口记得防火墙放行,不然是访问不到的,特别是云服务器,一定要提前放行

[common]
bind_port = 7000       #frps服务绑定7000端口
dashboard_port = 7500  #控制台端口
dashboard_user = xxxx  #frps控制台的密码
dashboard_pwd = "xxxx" #frps控制台的密码vhost_http_port = 7002
vhost_https_port = 7003
max_pool_count = 50token = "your_token" #这儿可以随笔那填一个token,随便什么都行
tcp_mux = true#日志相关配置
log_file = "/opt/frps/log/frps.log"
log_level = "info"
log_max_days = 3privilege_mode = true

启动frp的服务端脚本

./frps -c ./frps.toml

客户端

_树莓派p2p穿透_内网穿透树莓派

serverAddr = "你的服务器地址"
serverPort = 7000
auth.method = "token"
auth.token = "服务端填写的token"
loginFailExit=false
[[proxies]]
name= "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000 #树莓派上的22端口绑定服务端的6000端口,也就是说通过访问服务端ip:6000端口就可以访问到树莓派的22端口
[[proxies]]
name = "http"
type = "http"
localIP = "127.0.0.1"
localPort = 80
customDomains = ["192.168.31.214"] #自定义域名可以是树莓派的ip
[log]
to = "/opt/frpc/log"
level= "info"

启动frp客户端脚本

./frpc -c ./frpc.toml

控制台或日志有以下消息便是启动成功

或者是登入服务端的控制台(服务端ip:7500)查看树莓派是否上线

三、测试远程连接树莓派

配置成功后进行访问,成功访问到树莓派!!!

四、可能会遇到的问题

执行脚本不成功

服务端、客户端的脚本最好都先修改权限后再执行

客户端脚本启动时一直在连接0.0.0.0:7000

在配置文件中配置了服务端的ip,但启动客户端脚本时,一直访问0.0.0.0:7000,然后报错,连接被拒绝,这种情况,大概率是客户端的配置文件格式不对,注意,是格式不对,格式,格式,格式,看你用的什么类型的配置文件,建议使用toml

进入不了管理后台或请求被拒绝

先检查防火墙端口有没有放行

想要脚本一直保持再后台运行

使用systemctl进行配置

服务端(客户端同理,只需要修改文件名称和脚本路径):

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
​
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml
​
[Install]
WantedBy = multi-user.target

使用systemctl管理frp

# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

设置开机自启

sudo systemctl enable frps


上一条查看详情 +Vue中如何实现组件通信
下一条 查看详情 +没有了