远程调试frp服务端安装Frp的Web管理FrpMgr面板frps穿透服务端frpc客户端
嵌入式设备上线之后,如果遇到问题想要线上维护,最直接的方法的能够远程ssh进入到设备里,然后查看日志定位问题,这边介绍使用frp配合mqtt的方式进行设备远程调试。
以前已经写过很多关于frp内网穿透的相关教程了,比如
远程调试的原理如下:
-
本地网关与MQTT服务器保持长连接,用来接收开启远程/关闭远程命令
-
fprs服务器需要有公网IP,开发人员可以通过该公网IP和指定的端口远程
-
开发人员通过约定好的MQTT消息,发送开启远程命令给本地网关。本地网关收到开启远程的命令后,就启动frpc去连接对应的frps服务器。
-
本地网关frpc连接frps成功之后,开发人员就可以内网穿透ssh到本地网关
1.frps服务器搭建
1.1 下载
不需要编译,可以直接用
https://github.com/fatedier/frp/releases
从github上面下载对应平台的压缩包,是go语音写的不需要编译。
ubuntu:~/Desktop/frp_0.36.2_linux_arm$ ls frpc frpc_full.ini frpc.ini frps frps_full.ini frps.ini LICENSE systemd
frps为服务器
frps.ini为服务器的配置文件,frps_full.ini全部的配置信息
frpc为客户端
frpc.ini为客户端的配置文件,frpc_full.ini全部的配置信息
1.2 服务器配置
一般会被指两个参数
bind_port服务器绑定的地址
dashboard服务器的后台管理页面地址
[common]bind_port = 1000dashboard_user = admin dashboard_pwd = admin dashboard_port = 1001enable_prometheus = true
设置好内容后,运行如下命令就可以
/usr/local/bin/frps -c /etc/frp/frps.ini
看板内容如下:
1.3 服务器添加自启动
# 需要先 cd 到 frp 解压目录。
# 复制文件
cp frps /usr/local/bin/frps mkdir /etc/frp cp frps.ini /etc/frp/frps.ini
# 编写 frp service 文件,以 ubuntu 为例
vim /usr/lib/systemd/system/frps.service
(有时候需要手动创建system文件夹)
# 内容如下 [Unit] Description=frps After=network.target [Service] TimeoutStartSec=30 ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini ExecStop=/bin/kill $MAINPID [Install] WantedBy=multi-user.target
启动 frp 并设置开机启动
systemctl enable frps systemctl start frps systemctl status frps
部分服务器上,可能需要加 .service 后缀来操作,即:
systemctl enable frps.service systemctl start frps.service systemctl status frps.service
停止frps
systemctl stop frps
运行状态和日志
[root@VM-11-12-centos frp_0.35.1_linux_amd64]# systemctl status frps ● frps.service - frps Loaded: loaded (/usr/lib/systemd/system/frps.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2021-02-23 14:07:27 CST; 1min 8s ago Process: 18791 ExecStop=/bin/kill $MAINPID (code=exited, status=0/SUCCESS) Main PID: 12498 (frps) CGroup: /system.slice/frps.service └─12498 /usr/local/bin/frps -c /etc/frp/frps.ini
2.frpc客户端搭建
2.1 客户端配置
使用的就是上面下载的frpc客户端和frpc.ini配置文件
如下配置,就是将本地的ssh 22端口,映射到frps公网IP的1002端口
[common]bind_port = 1000dashboard_user = admin dashboard_pwd = admin dashboard_port = 1001enable_prometheus = true0
设置好内容后,运行如下命令就可以
[common]bind_port = 1000dashboard_user = admin dashboard_pwd = admin dashboard_port = 1001enable_prometheus = true1
然后就可以远程登录了
[common]bind_port = 1000dashboard_user = admin dashboard_pwd = admin dashboard_port = 1001enable_prometheus = true2
官网:
https://github.com/fatedier/frp.git
https://github.com/kuoruan/openwrt-frp.git
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包