Difference between revisions of "Node Setup"

Jump to navigation Jump to search
(Add a workflow diagram for requesting a new node.)
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Familiar with a terminal? This page will help you get your mesh node set up. You will first need to select a device and flash a firmware onto it - those instructions can be found on the device-specific page. Then, head back here to complete the rest of the set-up.
+
This page will help you set up your mesh node each step of the way. We have done plenty of research to provide you with informed recommendations on what works best. If you have any questions about this process, or if you just want to be in touch, please join one of our [https://riot.im/app/#/group/+massmesh:matrix.org chat channels.]
  
== Communication Channels ==
+
[[File:New_Node_Onboarding.jpg|thumb|Joining Mass Mesh is relatively simple, but does take a few steps. For readers who are comfortable buying their own hardware and doing most of the technical work, read on. For others, get in touch via our chat channel, or request an install via our support desk.]]
Need help? Here's how to get in touch:
 
* [https://riot.im/app/#/group/+massmesh:matrix.org Matrix Chat]
 
* [https://lists.riseup.net/www/info/massmeshnet Mailing List]
 
* [https://www.meetup.com/SomervillePirates/ Weekly Meetups]
 
  
== Choosing a Node ==
+
== Choose Your Devices ==
Take a look at our [[Devices|devices]] page. Because we are using Yggdrasil for encrypted routing, you will want to choose a device with an Yggdrasil speed that meets your needs.
+
First, you will need to select and acquire the hardware components of your mesh node. We have gathered information on many [[:Category:Devices|devices]] to make your selection easier. We also maintain a list of [[Hardware Bundles]] for your convenience.
  
== Flashing the Firmware ==
+
== Flash The Firmware ==
Refer to the wiki page for your device, or bring your node to one of our meetings and have it flashed for you!
+
The procedure to flash the firmware varies from device to device. The [[:Category:Devices|devices]] page contains links to tutorials for each listed device.
  
Return to this page after flashing your device to finish the set-up.
+
Refer to the wiki page(s) of your chosen your device(s) to find their corresponding flashing tutorial. Or, if you prefer, bring your hardware to one of our weekly [https://massmesh.org/wiki/index.php?title=Contact_and_Meeting_Info meetups], and we will be happy to flash it for you!
  
== Configuring your Node ==
+
== Configure Your Node ==
Once your device has been flashed, the meshing software needs to be set up. Follow these steps to complete the set-up:
+
The pre-configured Mass Mesh firmware aims to have as much as possible done out of the box.
<ol>
 
<li>Plug your node's WAN port into a network that provides internet access. If your device has multiple ports, check the device page for which one to use.</li>
 
<li>Navigate to the openwrt configuration page at <code>http://192.168.1.1/</code></li>
 
<li>Log in with an empty password and press "Go to password configuration..." to set an administrator password</li>
 
<li>Optional: Add an ssh key to the SSH-Keys section to allow secure access to the node via ssh.</li>
 
<li>Enter a new password, uncheck "Password authentication" and "Allow root logins with password". Press "Save & Apply".</li>
 
<li>Navigate to Network > DHCP and DNS and add 2 values for DNS Forwardings: <code>200:c493:950a:d576:a413:faef:990b:fb76</code> and <code>1.1.1.1</code>, click "Save & Apply" at the bottom</li>
 
<li>Use scp to send the Yggdrasil package to the node, eg. <code>scp -o StrictHostKeyChecking=no ~/Downloads/yggdrasil_0.3.5-4_aarch64_cortex-a53.ipk root@192.168.1.1:/tmp</code></li>
 
<li>Use ssh and your node's password to access the node's command line, eg. <code>ssh root@192.168.1.1</code></li>
 
<li>Run <code>opkg update && opkg install kmod-tun nano</code> to prepare the node for Yggdrasil</li>
 
<li>Run <code>opkg install /tmp/yggdrasil_0.3.5-4_aarch64_cortex-a53.ipk</code> to install Yggdrasil</li>
 
<li>Use the command <code>nano /etc/yggdrasil.conf</code> to edit the Yggdrasil configuration. Change peers section to include a public node:</li>
 
<pre>{ "Peers": [ "tcp://50.236.201.218:56088" ],...</pre>
 
<li>Press <code>Ctrl + O, Enter, Ctrl + X</code> to edit the text editor</li>
 
<li>Run <code>yggdrasilctl getSelf</code> and take note of the "IPv6 subnet", for example <code>IPv6 subnet: 300:f86f:fcf9:8479::/64</code></li>
 
<li>Run <code>reboot</code> to fully initialize Yggdrasil</li>
 
<li>Navigate to Network > Interfaces in the Openwrt web configuration and find "ULA Prefix" near the bottom. Replace the value with the IPv6 subnet value from before (starting from 3xx and ending with /64) and click "Save & Apply"</li>
 
<li>On the same page, click "Edit" next to "LAN" and set "IPv6 assignment length" to 64. Under the DHCP Server section in the "IPv6 Settings" tab, check "Always announce default router". Click Save & Apply</li>
 
<li>Navigate to Network > Firewall, and find "LAN" in the "Zones" section. Press the Edit button for this zone.</li>
 
<li>Under the "Inter-Zone Forwarding" section, add "yggdrasil" to both "Allow forward to destination zones:" and "Allow forward from source zones:". Press "Save & Apply".</li>
 
<li>Optional: To disallow unencrypted usage of the shared internet connection, remove "WAN" from "Allow forward to destination zones:"</li>
 
<li>Optional: Under Network > Firewall > Traffic Rules, check enable on "Allow-SSH-yggdrasil" to allow ssh access using the node's mesh IP. Click "Save & Apply".</li>
 
</ol>
 
  
Once these steps are completed, your node will be capable of meshing with any other similarly configured node, as well as relaying encrypted mesh traffic to nodes over the internet if an internet connection is supplied to the node. Clients of the node will also be able to access in-mesh services using mesh IPs that the node assigns to connected devices. You can test this out by visiting the [http://[203:e0b0:ec08:4e1f:f004:19a9:577a:90ba]/wiki/index.php?title=Main_Page in-mesh wiki] while connected to a LAN port of the node.
+
If you are using stock OpenWrt, see [[Manual Configuration]] for how to replicate our settings.
 +
 
 +
== Install Your Node ==
 +
 
 +
In addition to providing power to the node, you may also want to use the following ports on your device:
 +
 
 +
* The WAN port (on multi-port devices) may be connected to a spare LAN port on your regular router (or directly to your modem) to share your internet connection with the mesh
 +
* The LAN port may be connected to a switch or any device to provide internet to that device through the mesh
 +
 
 +
=== Tips For Best Results ===
  
== Node Placement ==
 
 
In order to communicate on the mesh, your node must be able to talk to other nodes in your area. Here are some suggestions to help maximize your signal:
 
In order to communicate on the mesh, your node must be able to talk to other nodes in your area. Here are some suggestions to help maximize your signal:
  
* If the node is weather resistant, mount it on the outside of the house or to a column facing the street
+
* Weather resistant nodes should be mounted on the outside of the house or to a column facing the street
 
* Indoor nodes should be placed on or near windows facing the street and other buildings
 
* Indoor nodes should be placed on or near windows facing the street and other buildings
 +
* Nodes will work best if they have a direct line of sight to each other
  
== Wiring Up the Node ==
+
== Seeking Assistance ==
 
+
If you need help at any point, [[Contact and Meeting Info|get in touch with us]] online or in person.
In addition to providing power to the node, you may also want to use the following ports on the device:
 
 
 
* The WAN port (on multi-port devices) may be connected to a spare LAN port on your regular router (or directly to your modem) to share your internet connection with the mesh
 
* The LAN port may be connected to a switch or any device to provide internet to that device through the mesh
 

Revision as of 14:21, 4 March 2020

This page will help you set up your mesh node each step of the way. We have done plenty of research to provide you with informed recommendations on what works best. If you have any questions about this process, or if you just want to be in touch, please join one of our chat channels.

Joining Mass Mesh is relatively simple, but does take a few steps. For readers who are comfortable buying their own hardware and doing most of the technical work, read on. For others, get in touch via our chat channel, or request an install via our support desk.

Choose Your Devices

First, you will need to select and acquire the hardware components of your mesh node. We have gathered information on many devices to make your selection easier. We also maintain a list of Hardware Bundles for your convenience.

Flash The Firmware

The procedure to flash the firmware varies from device to device. The devices page contains links to tutorials for each listed device.

Refer to the wiki page(s) of your chosen your device(s) to find their corresponding flashing tutorial. Or, if you prefer, bring your hardware to one of our weekly meetups, and we will be happy to flash it for you!

Configure Your Node

The pre-configured Mass Mesh firmware aims to have as much as possible done out of the box.

If you are using stock OpenWrt, see Manual Configuration for how to replicate our settings.

Install Your Node

In addition to providing power to the node, you may also want to use the following ports on your device:

  • The WAN port (on multi-port devices) may be connected to a spare LAN port on your regular router (or directly to your modem) to share your internet connection with the mesh
  • The LAN port may be connected to a switch or any device to provide internet to that device through the mesh

Tips For Best Results

In order to communicate on the mesh, your node must be able to talk to other nodes in your area. Here are some suggestions to help maximize your signal:

  • Weather resistant nodes should be mounted on the outside of the house or to a column facing the street
  • Indoor nodes should be placed on or near windows facing the street and other buildings
  • Nodes will work best if they have a direct line of sight to each other

Seeking Assistance

If you need help at any point, get in touch with us online or in person.