以下说明将帮助您在Raspberry Pi上设置一个加密的网络网络。使用PI 3设置节点大约需要15分钟。显然,要有一个网格,您将需要多个节点。
许多型号的橙色PI硬件运行Armbian也得到了支持。可以遵循相同的安装步骤,除非您会用Armbian而不是Raspbian刷新SD卡。有关支持的硬件的完整列表,请参见硬件表。
确保您有以下项目:
用raspbian stretch lite闪烁SD卡。
创建一个名为SSH的空文件以启用pi靴子时启用ssh:
$ touch /path/to/sd/boot/ssh
将SD卡和USB WiFi适配器插入PI。
将PI插入您的路由器中,因此与Internet具有连接性。 SSH使用ssh [email protected]和密码覆盆子进入pi。
可选:还有其他连接的方法,例如将PI连接到您的计算机并与之共享Internet。或者,如果您将多个PI连接到路由器,请使用nmap -sn 192.168.X.0/24 (其中192.168.x是您的子网)找到其IP,然后ssh到分配给PI的本地IP,您想寻址ssh [email protected] 。
在您的SSH会话中,运行passwd并更改您的登录密码。选择一个强密码非常重要,以便其他人无法远程访问您的PI。
运行以下内容,然后让安装完成。大约5分钟后,PI将重新启动:
$ sudo wget https://raw.githubusercontent.com/AtlMesh/atl-cjdns-pi/master/setup && sudo chmod +x setup && sudo ./setup
在安装或其他询问方面,您可以在www.atlmesh.com/chat上的聊天室找到我们
安装脚本还可以安装许多可选功能,例如分布式应用程序和网络分析工具,这些功能有用但不需要运行节点。
| 功能标志 | HTTP服务端口 | 描述 |
|---|---|---|
WITH_MESH_POINT | 没有任何 | 如果您具有合适的USB WiFi适配器,并希望将其配置为802.11S网格点接口,则设置为true 。 |
WITH_WIFI_AP | 没有任何 | 如果您有Raspberry Pi 3,请设置为true ,并希望将车载WiFi配置为访问点。默认配置将所有流量路由到以太网端口eth0 。 |
WITH_IPFS | 80 :http-to-ipfs网关/ipfs/HASH | 如果要安装IPFS,请设置为true 。 |
WITH_PROMETHEUS_NODE_EXPORTER | 9100 :节点出口商UI | 如果要安装Prometheus节点出口商以报告网络指标,请设置为true 。 |
WITH_PROMETHEUS_SERVER | 9090 :Prometheus Server UI | 如果要安装Prometheus服务器以收集网络指标,请设置为true 。需要Prometheus节点出口商。 |
WITH_GRAFANA | 3000 :Grafana UI(登录:管理/管理员) | 如果要安装Grafana以显示网络指标,请设置为true 。需要Prometheus服务器。 |
WITH_H_DNS | 没有任何 | 如果要使用Hyperboria兼容DNS服务器,请设置为true : fc4d:c8e5:9efe:9ac2:8e72:fcf7:6ce8:39dc和FC6E和fc6e:691e:dfaa:b992:a10a:7b49:5a1a:5e09 |
WITH_H_NTP | 没有任何 | 如果要使用兼容Hyperboria兼容的NTP服务器: fc4d:c8e5:9efe:9ac2:8e72:fcf7:6ce8:39dc请设置为true |
WITH_FAKE_HWCLOCK | 没有任何 | 如果您想强迫HWClock每5分钟存储时间,则设置为true 。 |
WITH_EXTRA_TOOLS | 没有任何 | 如果要安装对网络分析有用的非必需工具,请设置为true :vim socat oping bmon iperf3 |
如果您已连接到WiFi访问点,则所有HTTP服务均可通过http://10.0.0.1:PORT以及CJDNS IPv6获得。要与CJDNS地址连接,请首先注意您的节点的FC00 ::/8 status ,然后导航到http://[fcaa:bbbb:cccc:dddd:eeee:0000:1111:2222]:PORT 。
将PI大约15秒钟重新启动,然后将SSH重新回到其中。您应该找到网格节点的状态自动打印。您也可以随时通过运行status打印此。
验证CJDNS服务是否处于活动状态,并且网格接口(如果适用)。节点部分应显示一个IPv6地址,这就是您在CJDNS网格中的pi的身份。同行部分应指示有效对等点的IPv6地址列表。此列表将为空,直到您还有另一个带有同一设置的节点。
您可以用一个以上的节点对网络吞吐量进行基准测试。让我们命名我们两个Pi的希拉里和朋友。
SSH给朋友,并注意其IPv6。
运行iperf3 -s开始聆听。不要结束SSH会话。
在另一个终端会话中,SSH到Hillary并运行iperf3 -c FRIEND_IPV6 。您应该开始看到希拉里向她的朋友发送加密数据包。有关预期吞吐量,请参见Phillymesh/cjdns-optimization。
要卸载服务,请运行./atl-cjdns-pi/scripts/uninstall 。
如果要更新,请运行相同的卸载脚本,但在提示时将所有配置文件和数据目录保留,请删除ATL-CJDNS-PI目录以及安装脚本,然后重复最后一个安装步骤。
我们正在增加对橙色PI板的支持,并与橙色pi Zero(每晚Armbian),Orange Pi One(Armbian Nightly)和Orange Pi Lite(Armbian Nightly)进行了测试。与其闪烁的Raspbian,不如从上面链接的Armbian夜间图像开始,然后按照与Raspberry Pi相同的安装步骤。
测试硬件列表:
| 硬件 | 基础操作系统 | CJDNS基准(Salsa20/Poly1305,切换) | USB | 以太网 | 笔记 |
|---|---|---|---|---|---|
| 覆盆子Pi 3 | Raspbian Lite | 350k,100k | 2 | 10/100 | |
| 覆盆子Pi 2 | Raspbian Lite | 150k,50k | 2 | 10/100 | |
| 覆盆子pi 1 a+ | Raspbian Lite | 35k, - | 1 | 没有任何 | |
| 覆盆子pi 1 b+ | Raspbian Lite | 35k, - | 2 | 10/100 | |
| 覆盆子pi零 | Raspbian Lite | 68k,30k | 1* | 没有任何 | *需要OTG电缆 |
| 橙色的pi lite | 每晚的Armbian | 198K,76K | 2 | 没有任何 | |
| 橙色pi一 | 每晚的Armbian | 198K,76K | 1 | 10/100 | |
| 橙色pi零 | 每晚的Armbian | 148K,56K | 1(+2*) | 10/100 | *通过标头提供的其他USB |
| 橙色Pi Zero加2 H5 | 每晚的Armbian | 142k,92k | 0(+2*) | 没有任何 | *USB可通过标题提供 |
要添加新模块,请使用脚本/ IPFS/作为以下示例:
WITH_NEW_MODULE标签创建一个