以太坊搭建树莓派4
㈠ 树莓派服务器集群架设
实际上每个派都要装系统,但是装的不是完整系统而是核心,和必要软件,某个pi要被设置为中心机,上面带完整系统和 相关软件安装文件。
理想情况是,一个pi接入网络,中心机配置后就在该pi上部署相关软件,然后接入集群开始工作。但是要想完成这个集群需要做很多工作,比如部署,接入,运行,监控,分离,分类(存储类型pi,业务派)。
㈡ 使用树莓派打造一个私人NAS+博客(1)——网络篇
title: 树莓派NAS_网络篇
date: 2021-01-26 10:35:00
tags:
- 树莓派
- NAS
- 网络
blog_home: http://www.smcbaq.top: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://www.smcbaq.top:8081
这个很好理解,因为内网的设备不能直接访问,所以我们需要设置路由器做一个端口转发来映射设备,梅林固件在以下 标记 中设置通信端口和本地端口即可
通信端口是外网设备连接时访问的端口,本地端口是本地设备(这里是树莓派)开启的服务占用的端口,前者随便设,后者需要注意配置,例如:
我希望访问8081端口来访问我的博客,那么通信端口设置8081,这个博客服务运行在树莓派的8080端口上,那么本地端口设置为8080,本地IP是树莓派的IP,通信协议使用TCP。
添加后保存即可。
ps:这里面的操作我完成得比较早,教程是写文临时找的,可能在你的电脑上有点坑,记得仔细操作不要看见命令盲目 ctrl+c/v 。
如果从路由功能比较齐全,可以打开 AP模式 的话,则可以使用两个同名WiFi在家里无缝切换相当方便。
可以给树莓派设置一个固定分配的内网IP地址,虽然一般不会变动但是一旦变动了会比较麻烦。
ssh连接可以将电脑的公钥交给树莓派实现 免密ssh登录 ,具体教程 在这里 , windows生成公钥 教程是 这个 。
电脑可以使用vs-code安装Remote-SSH插件来方便文件操作,具体使用自行查找,挺简单的。
㈢ 1. 树莓派:eth桥接到wlan口,共享上网
背景: 树莓派外接5G无线网卡,推流器连接raspberry 3B lan口,共享上网。
验证: raspberry 3B连接手机的热点,PC通过网线与raspberry的lan口相连,实现上网。
思路:
1. 首先给raspberry的eth设置一个静态ip地址。
2. 修改IP转发规则,允许ip数据的转发。(ip_forward的设置)
3. 路由设置,配置iptables,进行两个网卡的桥接。
4. 开启raspberry的DHCP服务,在eth口上开启。
5. 开启DNS服务。
详细过程:
1. 给树莓派的eth分配静态地址。
暂时分配:
sudo ifconfig eth0 192.168.173.1 255.255.255.0 up
永久分配:
写在配置文件里。
配置文件 /etc/network/interfaces,请注意此处wlan0的地址参数要和etc/udhcpd.conf相关参数相对应。
sudo vi /etc/network/interfaces
#iface default inet dhcp
增加
auto eth0
iface eth0 inet static
address 192.168.173.1
netmask 255.255.255.0
注意:
2. 启动IP转发
有多种方法,建议使用sysctl的设置方式
方法1:sudo echo 1 > /proc/sys/net/ipv4/ip_forward
方法2:sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
方法3:sudo sysctl -w net.ipv4.ip_forward=1
有的时候需要在/etc/sysctl.conf下添加一行:net.ipv4.ip_forward=1
3. iptables设置
iptables -t nat -I POSTROUTING -o wlan0 -j MASQUERADE
4. dhcp服务
4.1 安装udhcpd服务
sudo apt-get update
sudo apt-get install udhcpd
4.2 配置DHCP服务
sudo vi /etc/udhcpd.conf
1. 修改网络接口,设置成对应的网卡号
2. 设置remaining,去除前面的#符号
#remaining yes 改为 remain yes
3. 设置树莓派的IP地址
修改opt router为192.168.173.1,那么配置完成之后这个地址将作为网关,连接到raspberry eth口的设备网关需要设置为此IP.
此处opt dns被修改为公共的DNS地址 114.114.114.114和 114.114.114.115
4.3 使能DHCP
配置 /etc/default/udhcpd
sudo nano /etc/default/udhcpd
使用#符号注释DHCPD_ENABLED="no"
DHCPD_ENABLED="no" 改为 #DHCPD_ENABLED="no"
4.4 启动服务
1. 启动udhcp的服务:sudo service udhcpd start
2. 设置开机启动: sudo update-rc.d udhcpd enable
5. dns服务
在进行调试的时候发现无法查询到raspberry使用的dns地址,按照常规方法查到的dns地址为127.0.1.1。在网上查了一下https://segmentfault.com/q/1010000002443769 感兴趣的可以参考一下这篇文章。
这就导致我在测试的时候遇到一个问题,pc可以通过ip地址访问,但是通过域名无法访问。然后我就在网上查了一些共用的dns服务器,设置后一切正常。关于这些共用的dns信息参考如下:
/********************************************************************************************************************************************************/
A、DNSPod DNS+:DNSPod的 Public DNS+是目前国内第一家支持ECS的公共DNS,是DNSPod推出的公共域名解析服务,可以为全网用户提供域名的公共递归解析服务!
DNS 服务器 IP 地址:
首选:119.29.29.29 备选:182.254.116.116
B、114DNS:国内用户量巨大的DNS,访问速度快,各省都有节点,同时满足电信、联通、移动各运营商用户,可以有效预防劫持。
DNS 服务器 IP 地址:
首选:114.114.114.114 备选:114.114.114.115
C、阿里 AliDNS:阿里公共DNS是阿里巴巴集团推出的DNS递归解析系统,目标是成为国内互联网基础设施的组成部分,面向互联网用户提供“快速”、“稳定”、“智能”的免费DNS递归解析服务。
DNS 服务器 IP 地址:
首选:223.5.5.5 备选:223.6.6.6
/********************************************************************************************************************************************************/