WithCoderWithCoderWithCoder

VNC+frp实现跨网远程访问树莓派

    利用VNC+frp自己搭建一个远程访问。我们可以有两种搭建方式:一种是有公网服务器搭建,另一种是无公网服务器搭建。本文介绍有公网服务器时如何搭建。

    1.准备

  1. 公网服务器一台(腾讯云,阿里云,华为云等服务器均可)

  2. 内网穿透工具 frp (免费开源)

  3. 远程控制软件 RealVNC

  2.服务器上部署(服务端)

    首先了解一下frp是什么?

    frp是一个可用于内部网穿透的高级反向代理应用程序,支持tcp,udp协议,为http和https应用协议提供了额外的能力,并且尝试性支持了点对点穿透。

    VNC+frp实现远程访问Ubuntu和树莓派(图1)

    第一步:下载frp到公网服务器

    登录公网服务器下载frp,frp下载地址:https://github.com/fatedier/frp/releases,找到对应版本下载。

    (注:可以输入arch,查看cpu架构,云服务和Ubuntu16.0.4都是x86_64处理器架构,所以下载amd64的包;如果为树莓派,则

下载arm的包)

    VNC+frp实现远程访问Ubuntu和树莓派(图2)

    这里下载的是当前更新的最新版frp_0.29.0_linux_amd64.tar.gz

wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz

VNC+frp实现远程访问Ubuntu和树莓派(图3)

    可能下载有点慢,等待一会儿(或者直接下载后,传输到服务器)

     第二步:配置frp

    下载完之后进行解压:

tar -xzvf frp_0.29.0_linux_amd64.tar.gz

VNC+frp实现远程访问Ubuntu和树莓派(图4)

    解压之后,找到frps.ini这个文件,并打开:    

cd frp_0.29.0_linux_amd64
sudo nano frps.ini

    参考frps_full.ini,添加一下内容:   

[common]
bind_port = 7000  
token = 12345678  

dashboard_port = 7500 
dashboard_user = admin 
dashboard_pwd = admin

max_pool_count = 5
log_file = ./frps.log  
log_level = info
log_max_days = 3

    1-210520232430625.png

    保存,退出。

    把云服务器的7000,7500等相应的端口放行。我这里的后台管理端口是7600,不是上面的 7500。

    在当前目录下运行frps:

nohup ./frps -c ./frps.ini &

    查看7600端口是否在监听

netstat -ap | grep 7600

VNC+frp实现远程访问Ubuntu和树莓派(图6)

    测试后台能否打开   

#云服务器公网ip + 7600 
http://x.x.x.x:7600

    记得x.x.x.x替换为自己公网ip地址,提示输入账户密码,默认admin

    界面是这样的

VNC+frp实现远程访问Ubuntu和树莓派(图7)

    至此,服务端frp部署成功了。

    3. 树莓派上部署(客户端)

     这里用的是树莓派3b+

    下载的是arm文件:

    VNC+frp实现远程访问树莓派(图8) 

    下载后解压,打开frpc.ini   

tar -xzvf frp_0.29.0_linux_amd64.tar.gz
cd frp_0.29.0_linux_amd64
sudo nano frpc.ini

    添加以下内容:   

    1-21052023524S28.png

    记得云服务器上开放相应端口段,如:5900-6000,22, 80等。

    第三步:加入开机启动

    刚开始尝试了直接在 rc.local里启动frpc失败。

    参考这篇博文:https://blog.csdn.net/zmy12007/article/details/84642081,树莓派开机后让frpc.ini延迟启动即可

sudo nano startfrpc.sh

    添加以下内容:

#/bin/bash
cd /home/pi/frp_0.29.0_linux_arm
echo "start frpc from shell" >> ./log.txt
sleep 15s
nohup ./frpc -c ./frpc.ini &

    1-210520235534K1.png    

    保存退出

    添加文件权限   

sudo chmod +x startfrpc.sh

    接着打开rc.local文件   

sudo nano /etc/rc.local

    添加如下内容:

echo "start rc.local" > /home/pi/rc.log

nohup /bin/bash /home/pi/startfrpc.sh &

    保存, 退出

    重启树莓派:   

sudo reboot

    查看一下后台,看看是否在线

VNC+frp实现远程访问树莓派(图11)

   至此,树莓派部署成功了。

    4.远程连接树莓派

    4.1 vnc连接:

    打开树莓派的vnc和ssh:

    VNC+frp实现远程访问树莓派(图12)

    启用SSH和VNC    

    VNC+frp实现远程访问树莓派(图13)

    重启树莓派

reboot

    reboot重启后右上角会出现vnc图标,单击图标打开,选择Option选项

    VNC+frp实现远程访问树莓派(图14)

    VNC+frp实现远程访问树莓派(图15)

    

    安全项,进行访问密码配置,记住密码

    在win10上,打来VNC Viewer软件(下载后安装),输入公网ip+端口,再输入访问密码

    VNC+frp实现远程访问Ubuntu和树莓派(图16)

    这样就完成了远程了连接

VNC+frp实现远程访问Ubuntu和树莓派(图17)

    界面如下:

    VNC+frp实现远程访问树莓派(图18)

    4.2 ssh连接:
ssh -oPort=8086 pi@x.x.x.x

    端口8086,pi 为用户名 ,x.x.x.x为公网ip

    VNC+frp实现远程访问树莓派(图19)

    ssh连接成功!

    当然,也可以使用SCP或FinalShell等工具进行ssh连接。

    参考:https://blog.csdn.net/y459541195/article/details/102522290

    



欢迎分享交流,转载请注明出处:WithCoder » VNC+frp实现跨网远程访问树莓派