树莓派使用FRP实现内网穿透教程

树莓派使用FRP实现内网穿透教程,第1张

简单说就是内网中的一台计算机具有自己的内部IP,外网的计算机具有公共的IP,而内部IP是无法直接通过外网来访问的,这就需要一种方式来将外网的IP转化为内部的合法IP来进行合法访问。

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

VPS(Virtual Private Server 虚拟专用服务器)技术,将一台 服务器 分割成多个虚拟专享服务器的优质服务。实现VPS的技术分为容器技术,和 虚拟化技术 。在容器或虚拟机中,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。VPS为使用者提供了管理配置的自由,可用于企业虚拟化,也可以用于IDC资源租用。

公网服务器与FRP构成一个桥梁我们通过它将可以访问我们放置在内网的树莓派服务器

VirMach 它是一家非常便宜的支持Linux VPS和Windows VPS 美国主机商

购买链接(也可以选择其他家)

买好以后

会收到3个邮件

最上面的邮件里面就是你的IP还有账号密码

点击我的服务

然后点击下方按键

进入到服务器后台

打开PUTTY输入你的ip(公众号发送putty即可获得该软件)

输入账户root还有初始密码(邮件里面有)

首次登录到服务器终端

修改登录密码

直接输入

输入两遍,新密码即可。

利用FXP(公众号发送“fxp”即可获得该软件”)把下好的frp安装包上传到服务器(公众号发送“frp”即可获得。

如果你的VPS和本教程的不一样可以再下面网址选择适合你VPS的FRP

登陆FXP用的是你的服务器IP以及你刚才修改的密码

文件解压后,一般都含有frps(frp服务端运行文件)、frpc(frp客户端运行文件)、frpsini(frp服务端配置文件)、frpcini(frp客户端配置文件),以及frp_fullini(frp全部配置文件解释说明和参考。)

在服务器终端输入以下指令

在 frpsini 中输入:

[common]部分是必须有的配置

其中bind_port是自己设定的frp服务端端口

dashboard_port_number 改为一个特定的端口号,如8000,如此便可以通过 http://yourip:8000 来访问 frps 的网页控制台页面

dashboard_user 和 dashboard_pwd要填写一个自定义的用户名和密码,用于在访问 frps 控制台页面时输入

保存上面的配置后,使用以下指令启动frp服务端。

在浏览器输入“IP:7500”可以看到你的FRP的后台

树莓派正常登陆putty,输入以下指令

写入下面内容

注意

这里是用VNC举例子,你也可以做域名的映射

输入下面指令运行

成功

我们开始用VNC来测试一下是否成功

可以用你的手机的VNC或者是电脑的VNC进行登陆测试(不要和树莓派连接在同一网络)

还可以在我们刚才的FRP后台看一看端口的情况

title: 树莓派NAS_网络篇

date: 2021-01-26 10:35:00

tags:

- 树莓派

- NAS

- 网络

blog_home: http://wwwsmcbaqtop:8081/

我的计划是使用树莓派搭建一个 个人博客+NAS 的组合,一开始使用的是 树莓派3b+ ,已经做到了搭建基于 hexo 的个人博客,但是之前因为条件原因在电源,接线等问题上做出了各种妥协,最后导致有一定的问题,这次我重新使用 树莓派4b 部署一次,并且记录下这次的搭建过程留个记录,如果有人发现了这个系列文章,有兴趣可以试试,毕竟我也不知道这个可能能有多少人看。

在这个系列文章中,有的步骤可能按照别人的文章博客可以直接完成没有什么坑点,我就不再赘述了,直接使用链接,重点是中间可能涉及的坑点。

电脑一台、路由器一台(我使用安装了改版梅林的网件R6300U)、树莓派一个(带电源,我使用4b)、网线一根(可选,我使用支持千兆的超五类线)

家庭组网重点是把路由器搞好就成了,我们这一步的目标就是让树莓派可以内网访问,我家网络是如下结构:

很简单的结构,简单来讲就是主路由管客厅,从路由管房间,由于主路由性能更加优良树莓派计划接到主路由上,而我大部分时间是在房间里面连接从路由的WiFi,所以需要注意主从路由不能打开 AP隔离 ,不然电脑不能访问到路由,其他的默认就行了,路由器尤其是主路由推荐使用 dhcp模式 ,要想验证很简单,手机连接主路由,电脑连接从路由,电脑手机能互相ping通即可,安卓手机ping电脑使用APP: termux 。

树莓派安装好系统打开ssh连接即可,我使用的是 Raspberry Pi OS(Raspbian) 的desktop版,没有安装推荐软件的版本,具体开启方式是在boot盘符下添加一个名为 ssh 的文件即可,不要任何后缀。

安装树莓派系统可以学习这个 教程

然后将树莓派接好电源,插好网线连接到主路由的 LAN口 ,等待一段时间,在路由器管理界面找到树莓派分配到的 IP (设备名通常为 pi 或者 raspberrypi ),电脑ssh连接树莓派成功即可,树莓派初始用户名为 pi ,默认密码为 raspberry ,记得使用 passwd 和 sudo passwd root 来分别修改 pi 用户和 root 用户的密码。

如果没有网线,则先提前给树莓派 设置好WLAN连接 ,然后找IP连ssh都一样了,但是不建议这样做,具体原因后面的文章中 软件篇 会提到,当然如果到时候看了则另说。

公网访问其实并不是一个硬需求,可以通过 frp 来做内网穿透,但是这就需要一个额外的服务器,这就有点有违初心了,毕竟我本来搞这个的目的之一就是为了多出一个服务器嘛。

公网访问重点就是要有公网IP,有的运营商会直接给一个公网IP,比如我在学校的电信寝室宽带,但是绝大多数都不会给,所以需要提前判断一下,主要有两个方法:

如果没有公网IP,那么打自己家宽带提供商的电话叫客服开通一下,一般来说都是包含在了宽带服务中的,如果问起来你要干什么用可以说自己家里要弄监控需要公网IP随时查看,一般很快就开通了,免去扯皮的功夫。

虽然说拿到了公网IP但是一般来说运营商提供的都是动态IP,之后外网访问的时候会比较麻烦(路由器一般会提供远程查看软件,可以看到IP,但是经常都得换IP访问这根本方便嘛),所以我们需要使用动态域名解析——DDNS,这样就可以使用域名直接访问了

首先是梅林自带的华硕家的免费DDNS,由于我的网件刷魔改梅林的版本有BUG,DDNS经常会自己断掉,就得手动操作路由器打开,由于过于频繁大概2-3天一次所以我最后选择放弃,但是实测华硕AC68U的官方梅林不会出现这个BUG。

最后我的选择是阿里云的DDNS,魔改梅林的优势在这里就体现出来了,可以直接安装插件,设置好以下 标记 内容即可。

购买域名有一系列的实名制操作,如果已经有这个需求了请耐心完成

最后我购买的是一个比较便宜的域名,个人博客正在使用的就是这个域名 http://wwwsmcbaqtop:8081

这个很好理解,因为内网的设备不能直接访问,所以我们需要设置路由器做一个端口转发来映射设备,梅林固件在以下 标记 中设置通信端口和本地端口即可

通信端口是外网设备连接时访问的端口,本地端口是本地设备(这里是树莓派)开启的服务占用的端口,前者随便设,后者需要注意配置,例如:

我希望访问8081端口来访问我的博客,那么通信端口设置8081,这个博客服务运行在树莓派的8080端口上,那么本地端口设置为8080,本地IP是树莓派的IP,通信协议使用TCP。

添加后保存即可。

ps:这里面的操作我完成得比较早,教程是写文临时找的,可能在你的电脑上有点坑,记得仔细操作不要看见命令盲目 ctrl+c/v 。

如果从路由功能比较齐全,可以打开 AP模式 的话,则可以使用两个同名WiFi在家里无缝切换相当方便。

可以给树莓派设置一个固定分配的内网IP地址,虽然一般不会变动但是一旦变动了会比较麻烦。

ssh连接可以将电脑的公钥交给树莓派实现 免密ssh登录 ,具体教程 在这里 , windows生成公钥 教程是 这个 。

电脑可以使用vs-code安装Remote-SSH插件来方便文件操作,具体使用自行查找,挺简单的。

Arduino 与树莓派 Raspberry Pi 的差异谈不上优缺点,而是他们是两个完全不同的产品:

1 产品定位上:Arduino的定位是单片机,侧重IO性能;Raspberry Pi的定位是电脑侧重计算性能

2 运算性能:Arduino以UNO为例是AVR核心的8位单片机,运算频率16Mhz;树莓派3B版为例,是ARM核心的64位微处理器,运算频率12GHz

3 IO性能:Arduino包含数字IO和模拟IO,可以连接大量数字和模拟传感器,树莓派只有数字IO

4 开发工具:Arduino以Arduino C语言为开发环境;Raspberry Pi以Python开发为主,,兼顾其他Linux下的开发环境

5 操作系统:Arduino无操作系统;Raspberry Pi一般采用Linux作为操作系统

6 应用领域:Arduino一般用于传感器、设备控制;Raspberry Pi一般作为服务器或运算单元

树莓派的功能用途无线热点、机械假肢、简易自制笔记本、WiFi小车、远程发送微博等。

1、无线热点。

这大概是地球人拿来干得最多的一件——插上网线和USB无线网卡,配置之后就可以作为一个无线热点。

2、机械假肢。

MIT Media Lab的研究员把它作为机械假肢的控制器。

3、简易自制笔记本。

把树莓派跟LCD液晶面板连上,再加上鼠标键盘和电源,找一个漂亮的壳子套上,就变成一个简易自制笔记本了。

4、WiFi小车。

IBM的一个工程师把它安在一个模型小车上,然后通过WiFi信号来控制小车的行动。

5、远程发送微博。

气象爱好者把它绑在检测气球上,还用它在平流层发了一条微博。

6、控制车库门开关。

还有拿树莓派控制车库门,再结合Siri遥控车库开关的达人。

7、监控拍摄。

最后还有接上摄像头,连上WiFi作为小型拍摄设备,体型小,易隐藏。

8、备份邮件。

我使用树莓派的最重要的功能之一就是备份我的邮件。我使用一个叫作getmail的软件来检查每份使用POP或者IMAP协议的邮件,定时查看各个账号的邮件。然后把邮件保存到一个mbox文件,这个文件可以在任何时候被复制到另一台电脑上做长期的邮件归档。

9、搭建个人RSS阅读器。

我最近发现了miniflux,一个自托管的基于网络的RSS客户端,可以安装到树莓派上。和许多人一样,当谷歌宣布将在7月1号关闭Google Reader后我也开始将个人数据迁移出来。我使用了一阵子rss2email,让它把RSS每一条目都发送到我的邮箱中。

但其实我不是很喜欢这个方法,于是我花了点时间寻找Google Reader替代品并试过了rss2email之后找到了miniflux。在树莓派上安装miniflux十分简单,你只需要提前安装PHP和一个web服务器软件就好了,比如nginx或者Apache。

10、搭建网站。

树莓派一个很明显的用处就是作为网站的后台服务器。我曾这么用过一阵子,而且很快就要重新这么干。树莓派有足够的能力来处理静态网站,一些web框架也不成问题。我就在上面搭建过一个Flask框架,我甚至听说有的人直接在树莓派搭建了个Wordpress。

11、家用网络存储。

只消耗很低的电量,树莓派就可以成为一个完美的NAS(网络连接式存储)。之前我把一个500GB的笔记本硬盘连接到树莓派上,还在上面安装了一个操作系统。

我可以在上面存放许多需要在不同电脑间传输的文件。然后通过SFTP来连接,然后在家里的任何机器上都可以访问(即使不在家,只要路由设定对了也不成问题)。你也可以在派上安装Samba,这样Mac和PC都可以更容易地存取。

12、站点监控。

树莓派的另一个用处就是用来检测对我来说很重要的网站。我写了个Python脚本并定时运行,确保这些网站回复一个200状态码(这意味着一切正常)。如果脚本判断出网站出了问题或者无法访问,会把这个事件的总体情况发邮件给我。我使用的Python模块是Requests,而发邮件的模块则是smtplib。

13、事件提醒。

我让树莓派把我需要记住的重要事件发邮件给我。之前我用的是谷歌日历,但我只在简单事件才用它。所以我用树莓派代替了它,一段定时任务的Python脚本就够了。我设定了要记住的日期、时间和消息,这些参数会传给我的Python脚本,到了那一天它就会把消息发送到我的邮箱,提醒我当天的事件。

14、家庭相册。

我的树莓派同时还支持着一个私人网站,网站放着我所有的家庭照片。我设立了验证信息所以只有我希望让他们看到的人才能进入网站。这比你的Facebook相册要靠谱多了,因为脸书上面你的账户有可能被删除,而且照片会被陌生人偶然看到。很简单,就是用PHP获取树莓派上一个文件夹里的照片而已。

15、点唱机。

上面提到我把派当作一个网络存储器,所以我所有的音乐也都在上面。我的派上接了个立体扬声器,然后使用mpg123在树莓派的命令行里播放音乐。虽然有很多其他的mp3播放器,图形界面的也有,但我还是选择mpg123,因为它简单好用,安装也很方便。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 树莓派使用FRP实现内网穿透教程

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情