使用树莓派4B作为一台服务器
树莓派是个一直听说,但是一直没玩过的东西,所以在今年年初搞了一块折腾了一段时间。在上面起了一些服务,确实很好玩。在上面搭建了私有网盘、Minecraft、SageMath 还有几个密码学题目。这篇博客记录了我折腾树莓派的经历~ 解决公网IP问题 我想在公网连接到家里的树莓派,访问到上面的服务,所以需要有公网IP或者使用 frp 内网穿透。当然如果不需要让树莓派暴露在公网下,就不需要搞公网 IP 了。 静态公网IP 如果有角度可以搞到企业专线,那还是很香的,不仅拥有运营商分配的静态公网 IP,还有上下行相等的大带宽,当然费用也很高,也需要注册的企业资质。所以我是搞不到静态的公网 IP。 动态公网IP 没有静态的,可以退而求其次搞动态的,跟运营商交涉一下是可以得到动态的公网 IP 的,虽然是上下行不对等的家庭带宽,但是作为服务器来说绰绰有余,已经远超很多便宜的云服务器了。 第一次我直接跟人工客服打电话申请要一个静态公网IP被拒绝了;然后第二天我又一次联系了人工客服,询问能不能申请动态的公网IP(可以说装摄像头要用到,不能说在家里搭建服务器),结果很快就回电通知我已经给了动态的公网IP,还算顺利~ Dynamic DNS 后面使用发现,我们这边的动态的公网IP大约2~3天变动一次,这就可以通过 Dynamic DNS(DDNS) 将动态的IP解析到固定的域名,就能通过固定的域名访问到服务器了。 DDNS需要服务端和本地各运行一个服务:本地的树莓派或路由器上运行一个服务,每隔一段时间(几分钟)就获取一下自己的公网IP,判断一下有没有发生改变,如果发生改变就将新的 IP 发送给服务端,服务端得到新的 IP,就重新将域名解析到新的IP,所以是动态DNS。 DDNS的服务端只提供域名的动态解析服务,所以服务端的带宽对访问树莓派的速度没有影响(但是可能会影响到延时?实际使用没有明显感觉到) DDNS服务: 直接使用一些网站(oray.com/3322.org/Dyndns.com/No-ip.com)免费提供的DDNS服务,但是他们给的域名都是比较杂乱的三级域名,需要再把自己租的阿里云/腾讯云域名CNAME解析到这个三级域名。花生壳(oray.com)可以免费使用;而No-ip.com免费版需要每30天登录上去手动续约。 使用自己的vps运行脚本为树莓派提供DDNS服务,由于需要通过脚本进行域名解析,所以需要在vps上安装对应的SDK,然后开发对应的脚本,可以直接将自己的阿里云/腾讯云域名解析到家里的公网IP。 我现在是选择使用花生壳(oray.com)的DDNS服务,只需要注册即可得到一个三级域名,通过控制台->域名->壳域名来查看。我的路由器是小米 4A,可以在后台设置DDNS,选择“花生壳”并输入账号密码域名和检查 IP 的时间间隔即可。路由器不支持的话就需要在树莓派上运行一个脚本来发送新的IP。 也有很多树莓派玩家通过每次变动IP时,让树莓派将新IP发送给自己的邮箱,使自己总是可以知道最新的IP地址。 frp内网穿透 如果也申请不到动态 IP,那就只能用 frp 做内网穿透了,需要借助一台有公网 IP 的 vps,流量也都需要经过这台 vps,所以享受不到家庭宽带的低价大带宽了。 测试上下行带宽 可以在 speedtest.cn 测试下行带宽和上行带宽(最好直接连网线测)。 从公网访问树莓派下载文件需要的是家里的上行带宽,而家庭宽带的上行都是很低的,只能去升级下行带宽,上行才能对应的提升一点。。。。所以如果感觉带宽不太够还是要去升级一下宽带的。 我家的联通宽带就不太行,一开始是100M下行,20M上行,实测大约下行90~100M,上行20~40M。于是换了500M下行,50M上行的宽带,实测大约下行450~550M,上行60~70M。 组装树莓派和安装Ubuntu 我的是树莓派 4B。启动树莓派还需要有 5V 3A 的电源和一张 TF 卡。 各版本树莓派的对照表:https://shumeipai.nxez.com/wp-content/uploads/2017/03/raspberrypi-version-compare-4b.png 然后就是愉快的组装环节,树莓派 PCB 边缘是有毛糙的,最好用砂纸磨光滑再装到壳子里。 写入Ubuntu镜像 树莓派支持安装很多种系统,我选择的是 Ubuntu Server 20.04.2 LTS 64-bit,可以在这里下载:https://ubuntu.com/download/raspberry-pi,先把镜像下载到本地,把 TF 卡插到读卡器里,再把读卡器插在这台电脑上。...