Las siguientes instrucciones lo ayudarán a configurar una red de malla cifrada en Raspberry Pi. Se tarda unos 15 minutos en configurar un nodo con el Pi 3. Obviamente, para tener una malla, necesitará más de un nodo.
También son compatibles con muchos modelos de armebia de corredores de hardware PI naranja. Se pueden seguir los mismos pasos de instalación, excepto que flashearía la tarjeta SD con Armbian en lugar de Raspbian. Consulte la tabla de hardware para la lista completa de hardware compatible.
Asegúrese de tener los siguientes elementos:
Flash la tarjeta SD con Raspbian Stretch Lite.
Cree un archivo vacío llamado SSH para habilitar SSH cuando el PI Boots:
$ touch /path/to/sd/boot/ssh
Conecte la tarjeta SD y el adaptador WiFi USB al PI.
Conecte el PI a su enrutador, para que tenga conectividad a Internet. SSH en el PI con ssh [email protected] y contraseña Raspberry .
Opcional: hay otras formas de conectarse, como conectar el PI a su computadora y compartir Internet a ella. O si tiene múltiples PI conectados a su enrutador, encuentre su IP con nmap -sn 192.168.X.0/24 (donde 192.168.x es su subred) y ssh a la IP local asignada al PI que desea abordar ssh [email protected] .
En su sesión de SSH, ejecute passwd y cambie su contraseña de inicio de sesión. Es muy importante elegir una contraseña segura para que otros no puedan acceder de forma remota a su PI.
Ejecute lo siguiente, luego deje que la instalación complete. Después de unos 5 minutos, el PI reiniciará:
$ sudo wget https://raw.githubusercontent.com/AtlMesh/atl-cjdns-pi/master/setup && sudo chmod +x setup && sudo ./setup
Para obtener ayuda con la instalación u otras consultas, puede encontrarnos en nuestra sala de chat en www.atlmesh.com/chat
El script de instalación también puede instalar muchas características opcionales, como aplicaciones distribuidas y herramientas de análisis de red que son útiles pero no esenciales para ejecutar un nodo.
| Bandera | Puerto de servicio HTTP | Descripción |
|---|---|---|
WITH_MESH_POINT | Ninguno | Establezca en true si tiene un adaptador WiFi USB adecuado y desea configurarlo como una interfaz de punto de malla 802.11s. |
WITH_WIFI_AP | Ninguno | Establezca en true si tiene una Raspberry Pi 3 y desea configurar el wifi integrado como punto de acceso. La configuración predeterminada enruta todo el tráfico al puerto Ethernet eth0 . |
WITH_IPFS | 80 : HTTP-to-IPFS Gateway AT /ipfs/HASH | Establecer en true si desea instalar IPFS. |
WITH_PROMETHEUS_NODE_EXPORTER | 9100 : UI del exportador de nodo | Establezca en true si desea instalar el exportador del nodo Prometheus para informar métricas de red. |
WITH_PROMETHEUS_SERVER | 9090 : la interfaz de usuario del servidor Prometheus | Establezca en true si desea instalar Prometheus Server para recopilar métricas de red. Requiere exportador de nodo Prometeo. |
WITH_GRAFANA | 3000 : Grafana UI (Iniciar sesión: Admin/Admin) | Establezca en true si desea instalar Grafana para mostrar métricas de red. Requiere servidor Prometheus. |
WITH_H_DNS | Ninguno | Establecido en true Si desea usar Servidores DNS compatibles con hiperboria: fc4d:c8e5:9efe:9ac2:8e72:fcf7:6ce8:39dc y fc6e:691e:dfaa:b992:a10a:7b49:5a1a:5e09 |
WITH_H_NTP | Ninguno | Establecer en true si desea usar un servidor NTP compatible con Hyperboria: fc4d:c8e5:9efe:9ac2:8e72:fcf7:6ce8:39dc |
WITH_FAKE_HWCLOCK | Ninguno | Establezca en true si desea obligar a HwClock a almacenar su tiempo cada 5 minutos. |
WITH_EXTRA_TOOLS | Ninguno | Establecer en true Si desea instalar herramientas no esenciales útiles para el análisis de red: Vim Socat Oping BMON IPERF3 |
Si está conectado al punto de acceso WiFi, todos los servicios HTTP están disponibles a través de http://10.0.0.1:PORT , así como el CJDNS IPv6. Para conectarse con la dirección CJDNS, primero nota la dirección FC00 ::/8 de su nodo desde status , luego navegue a http://[fcaa:bbbb:cccc:dddd:eeee:0000:1111:2222]:PORT desde su navegador.
Dale al Pi unos 15 segundos para reiniciar y volver a él. Debe encontrar el estado de su nodo de malla impreso automáticamente. También puede imprimir esto en cualquier momento ejecutando status .
Verifique que el servicio CJDNS esté activo y la interfaz de malla (si corresponde). La sección del nodo debe mostrar una sola dirección IPv6, esa es la identidad de su PI en la malla CJDNS. La sección de pares debe indicar una lista de direcciones IPv6 que son pares activos en su nodo. Esta lista estará vacía, hasta que tenga otro nodo cercano con la misma configuración.
Puede comparar el rendimiento de la red con más de un nodo. Nombremos a nuestros dos PI's Hillary y amigo .
Ssh a amigo y nota su IPv6.
Ejecute iperf3 -s para comenzar a escuchar. No termine la sesión SSH.
En otra sesión de terminal, SSH a Hillary y ejecuta iperf3 -c FRIEND_IPV6 . Deberías comenzar a ver a Hillary enviando paquetes cifrados a su amiga. Ver PhillyMesh/CJDNS-Optimizaciones para el rendimiento esperado.
Para desinstalar los servicios, ejecute ./atl-cjdns-pi/scripts/uninstall .
Si está actualizando, ejecute el mismo script de desinstalación, pero mantenga todos los archivos de configuración y directorios de datos cuando se le solicite, elimine el directorio ATL-CJDNS junto con el script de instalación , luego repita el último paso de instalación.
Estamos agregando soporte para las tablas de naranja Pi y hemos probado con el naranja Pi cero (armbio nocturno), naranja Pi uno (armbio nocturno) y naranja Pi lite (armbian nocturno). En lugar de parpadear Raspbian, comience con las imágenes nocturnas de Armbian vinculadas arriba, luego siga los mismos pasos de instalación que la Raspberry Pi.
Lista de hardware probado:
| Hardware | Sistema operativo base | CJDNS Benchmark (salsa20/poly1305, conmutación) | USB | Éternet | Notas |
|---|---|---|---|---|---|
| Raspberry Pi 3 | Raspbian Lite | 350k, 100k | 2 | 10/100 | |
| Raspberry Pi 2 | Raspbian Lite | 150k, 50k | 2 | 10/100 | |
| Raspberry Pi 1 A+ | Raspbian Lite | 35k, - | 1 | Ninguno | |
| Raspberry Pi 1 B+ | Raspbian Lite | 35k, - | 2 | 10/100 | |
| Raspberry pi cero | Raspbian Lite | 68k, 30k | 1* | Ninguno | *Necesita cable OTG |
| Naranja pi lite | Armbio nocturno | 198k, 76k | 2 | Ninguno | |
| Naranja Pi uno | Armbio nocturno | 198k, 76k | 1 | 10/100 | |
| Naranja pi cero | Armbio nocturno | 148k, 56k | 1 (+2*) | 10/100 | *USB adicional disponible a través de encabezados |
| Orange Pi Zero Plus 2 H5 | Armbio nocturno | 142k, 92k | 0 (+2*) | Ninguno | *USB disponible a través de encabezados |
Para agregar un nuevo módulo, use scripts/ ipfs/ como ejemplo para:
WITH_NEW_MODULE