参考自 利用frp透穿访问内网的树莓派
安装
服务器设置
- 下载最新版frp程序
- 解压
- 设置frps.ini,大概设置成这样:
[common]
bind_addr = 服务器ip
bind_port = 7000
-
nohup ./frps -c ./frps.ini
跑起程序
设置客户端
- 下载最新版frp程序
- 解压frp并设置frpc.ini,大概设置成这样:
[common]
server_addr = 服务器ip
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
-
nohup ./frpc -c ./frpc.ini
跑起程序
验证
ssh -oPort=7000 pi@服务端ip
,正常的话将以ssh的方式进入树莓派
开机自启
服务端
vim /etc/rc.local
nohup /home/zza/frp_0.23.1_linux_amd64/frps -c /home/zza/frp_0.23.1_linux_amd64/frps.ini &
客户端
vim /etc/rc.local
nohup /home/zza/frp_0.23.1_linux_arm/frpc -c /home/zza/frp_0.23.1_linux_arm/frpc.ini &
使用 Systemd 实现自动启动 frp
Systemd,可以保证在树莓派意外重启时,能自动启动 frp 相关服务.这样,我们就不用整天提心吊胆,担心各种意外了.
服务端管理 frps
需要先 cd 到 frp 解压目录.
cp frps /usr/local/bin/frps
mkdir /etc/frp
cp frps.ini /etc/frp/frps.ini
编写 frp service 文件,以 centos7 为例,适用于 debian
vim /usr/lib/systemd/system/frps.service
[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
树莓派管理 frpc
需要先 cd frp 解压目录. 复制文件
cp frpc /usr/local/bin/frpc
mkdir /etc/frp
cp frpc.ini /etc/frp/frpc.ini
编写 frp service 文件,以 centos7 为例,适用于 debian
vim /usr/lib/systemd/system/frpc.service
[Unit]
Description=frpc
After=network.target
[Service]
TimeoutStartSec=30
ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.ini
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
启动 frp 并设置开机启动
systemctl enable frpc
systemctl start frpc
systemctl status frpc
部分服务器上,可以需要加 .service 后缀来操作,即:
systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service
注意:
frps 或 frpc 启动无效时,可以尝试先停止服务,如:
systemctl stop frpc