Difference between revisions of "Node Setup"

Jump to navigation Jump to search
Line 17: Line 17:
  
 
== Configuring your Node ==
 
== Configuring your Node ==
Once your device has been flashed, the meshing software needs to be set up. Follow these steps to complete the set-up:
+
Once your device has been flashed, there may be a few more steps to getting up and running. The preconfigured MassMesh 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.
 
  
 
== Node Placement ==
 
== Node Placement ==

Revision as of 23:31, 3 July 2019

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.

Communication Channels

Need help? Here's how to get in touch:

Choosing a Node

Take a look at our 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.

Flashing 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!

Return to this page after flashing your device to finish the set-up.

Configuring your Node

Once your device has been flashed, there may be a few more steps to getting up and running. The preconfigured MassMesh firmware aims to have as much as possible done out of the box.

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:

  • If the node is weather resistant, mount it 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

Wiring Up the Node

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