树莓派_使用内网穿透技术实现不同局域网下的互联(PC异网连接树莓派)
利用frp技术实现内网穿透
现在我们已经知道可以使用 VNC、远程桌面连接、SSH 三种技术实现PC与树莓派的互联互通;
(如果不知道感兴趣的可以查看我之前写得文章 https://www.cnblogs.com/wyl-pi/p/9784205.html );
但是!!你的PC必须和树莓派在同一段网络下(相同的局域网),那么问题来了如果你出门在外,想远程控制你的树莓派或调取查看其中的信息数据,
怎么办??因为是异网连接这些方法当然就不适用了,所以走了弯路踩了坑后与朋友分享我的烦恼,看看他的见解,经过一番讨论之后,我打算使用
frp技术来实现内网穿透进而完成在异网环境下设备之间的通信与操作。
那么我们已经先了解了它的基本功能(大白话莫见怪),不过你要想看正式规范的。
No problem 如下所示:
一、Frp定义及作用
Frp定义:
Frp 服务可以分配给你一个域名让你本地的Web项目提供给外网访问, 特别适合向别人展示你本机的Web Demo 以及调试一些远程的API (比如微信公众号,企业号的开发)
- 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
- 对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
- 利用处于内网或防火墙后的机器,对外网环境提供 TCP 和 UDP 服务,例如在家里通过 SSH 访问处于公司内网环境内的主机。
二、配置说明
三、那么我们开始吧,Let 's do it.
首先让我们安装Frp服务,公网服务器与内网服务器都需要下载frp进行安装后面进行配置,现根据自己机器的系统下载压缩包;
下载地址是 https://github.com/fatedier/frp/releases,我下载的是 frp_0.21.0_linux_arm.zip (客户端系统frp——我的树莓派是3B型);
Frp分为客户端和服务端两类,Frps为服务端,Frpc为客户端,这个要先理清楚。我们先从服务端开始配置(较客户端而言简单快捷一些)。
服务器端:
下载服务器系统的Frp文件压缩包,使用远程桌面连接输入你服务器的 IP ----> enter ----->输入用户名密码,连接成功进入服务器界面。
找到合适位置,将下载好的压缩包直接拖拽进去,解压。解压后的文件这里主要关注4个文件,分别是frpc、frpc.ini和frps、frps.ini,
前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件,记住带 ‘ s ‘ ’的文件是服务器的否则后面的配置文件可能会把
你整懵,也可以当作是frp_sever,所以带 ‘ s ’ 。
首先删掉frpc、frpc.ini两个文件,然后再进行配置:
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口
vhost_http_port = 6081 #访问客户端web服务自定义的端口号
保存文件然后创建一个start.bat的批处理文件用来启动服务:
frps -c frps.ini
pause
客户端配置:
下载服务器系统的Frp文件压缩包,找到合适位置,解压。(我下载的是 frp_0.21.0_linux_arm.zip )
[common]
server_addr = 115.*.*.* #公网服务器IP
server_port = 6666 #通信端口
[ssh]
type = tcp
local_ip = 192.168.188.6 #树莓派3B的IP
local_port = 22 #开启的SSH服务接口
remote_port = 6000
[vnc] #VNC服务
type = tcp
local_ip = 192.168.188.6
local_port = 5900
remote_port = 5900
[vnc1]
type = tcp
local_ip = 192.168.188.6
local_port = 5901
remote_port = 5901
可以看到,我在这里多配置了一个vnc1,是用于防止IP被占用无法连通vnc,好处我就不的巴了。
同样创建一个star.sh文件用于启动frp服务
/home/pi/frc/frp_0.21.0_linux_arm/frpc -c /home/pi/frc/frp_0.21.0_linux_arm/frpc.ini
这样当然还不行,必须配置服务器的端口,否则怎么能通信呢?
设置入站规则出站规则:
再次检查服务器端以及客户端的frp服务是否已经开启
如图所示,成功连接(服务器端)会有success字样:
最后可以通过最简单的测试方法就是,你是用手机开启热点,让你的PC连接手机热点,树莓派依旧连接家庭网络,这样就构成了简单的异网环境。
测试连通性:到了最后的阶段(激动人心啊)
如图所示,通过VNC连接访问树莓派,进行通信
完成后使用vnc连接服务器,出来的画面就是树莓派的画面了,
Finally Success.
讲的比较详细啰嗦了,有什么说的不对的地方还请大佬指教一二。
感谢大佬的学习资料,学习借鉴来源此处:
https://blog.csdn.net/u013144287/article/details/78589643/