树莓派frp内网穿透,仅个人学习使用

服务端(frps):有公网IP的云服务器(腾讯云/阿里云等)

客户端(frpc):树莓派


在客户端(树莓派),下载合适的frp软件并解压(linux_arm.tar.gz)

sudo wget https://github.com/fatedier/frp/releass/download/v0.35.1/frp_0.35.1_linux_arm.tar.gz

tar -zxvf frp_0.35.1_linux_arm.tar.gz

编辑文件frpc.ini

cd frp_0.35.1_linux_arm

sudo vim frpc.ini

添加以下内容

[common]

server_addr = 公网IP (服务端地址)

server_port = 7000    (服务端开放的端口)

token=raspberrypi(连接口令)

[ssh]      (ssh穿透)

type = tcp

local_ip = 127.0.0.1

local_port = 22

remote_port = 6000  (需要在服务端开放此端口才能用!!!)

[vnc]     (vnc远程桌面穿透)

type = tcp

local_ip = 127.0.0.1

local_port = 5900

remote_port = 5902 (需要在服务端开放此端口才能用!!!)

[web]  (web服务器使用)   

type = http

local_port = 8080

custom_domains = web服务器地址 

[motion] (实现外网查看motion视频流)

type = tcp

local_ip = 127.0.0.1

local_port = 8081

remote_port = 8081 

保存配置,使用./frpc -c ./frpc.ini启动

注意,不同设备服务端开放端口不能一样!!!


在服务端(云服务器),需要根据系统下载合适的frp软件(linux_amd64.tar.gz),下载地址https://github.com/fatedier/frp/releases,解压软件,编辑frps.ini文件,添加以下内容

[common]

bind_port = 7000 

dashboard_port = 7500 (frp管理界面端口)

dashboard_user = user 

dashboard_pwd = password

vhost_http_port=8080 (web端口)

token=raspberrypi

保存配置,使用./frps -c ./frps.ini启动,浏览器输入 公网IP:7500即可访问frp面板(需要先在云服务器开放端口)

若报错可以尝试kill进程号重试 (ps aux 查看进程)


frp自启动:

复制frpc启动命令及配置文件到系统相应目录:

sudo cp frpc /usr/local/bin/frpc

sudo mkdir /etc/frpc

sudo cp frpc.ini /etc/frpc/frpc.ini

配置frpc.service

sudo nano /usr/lib/systemd/system/frpc.service

[Unit]

Description=Frp Client

After=network.target

Wants=network.target

[Service]

Restart=on-failure

RestartSec=5

ExecStart=/usr/local/bin/frpc -c /etc/frpc/frpc.ini

ExecStop=/bin/kill $MAINPID

[Install]

WantedBy=multi-user.target

设置开机自启

systemctl enable frpc

启动服务

systemctl start frpc

查看服务是否生效

sudo systemctl list-units |grep frpc

查看日志

sudo systemctl status frpc

重新加载服务(修改了服务项后)

sudo systemctl daemon-reload

对服务端frps.service同样配置,将frpc改为frps即可

后台运行frp服务

    服务端: nohup ./frps -c frps.ini >/dev/null 2>&1 &

    客户端: nohup ./frpc -c frpc.ini >/dev/null 2>&1 &

    说明:>/dev/null 2>&1 &,表示丢弃


使用vnc远程连接树莓派示例(树莓派需先开启vnc服务):

在本地设备的vnc viewer上编辑vnc server为:www.x.love:5902   [公网IP:remote_port],点击连接,输入树莓派的登录账号密码即可

你可能感兴趣的:(树莓派frp内网穿透,仅个人学习使用)