树莓派配合云服务器实现内网穿透

服务器准备

分配端口7000,作为bind port,分配端口6000,作为与树莓派ssh链接的端口。记得在云服务器中的安全组设置中给6000和7000端口开放出入的权限。

安装frp

服务器端

代码语言:shell
复制
# 下载与安装
wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_amd64.tar.gz
tar -zxvf frp_0.24.1_linux_amd64.tar.gz

修改配置

[common]
bind_port = 7000
vhost_http_port = 8080

启动

./frps -c ./frps.ini

或者后台启动

nohup ./frps -c ./frps.ini

客户端

代码语言:shell
复制
# 下载与安装
wget https://github.com/fatedier/frp/releases/download/v0.24.1/frp_0.24.1_linux_arm.tar.gz
tar -zxvf frp_0.24.1_linux_arm.tar.gz

修改配置

[common]
server_addr = 服务器的公网ip
server_port = 7000
login_fail_exit = false

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

启动

./frpc -c ./frpc.ini

或者后台启动

nohup ./frpc -c ./frpc.ini

外网访问

代码语言:shell
复制
ssh -oPort=6000 pi@服务器的公网ip

使用 Systemd 实现自动启动 frp

代码语言:shell
复制
# 安装systemd
apt-get update
apt-get install systemd
apt-get install systemd-sysv
代码语言:shell
复制
# 复制文件
cp frpc /usr/local/bin/frpc
mkdir /etc/frp
cp frpc.ini /etc/frp/frpc.ini

编写 frp service 文件,以 centos7 为例,适用于 debian

mkdir /usr/lib/systemd/system
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

树莓派要先修改root密码,才能启动服务

sudo passwd root

启动 frp 并设置开机启动

systemctl enable frpc
systemctl start frpc
systemctl status frpc

停止

systemctl stop frpc