<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hyperboria on Philly Mesh</title><link>https://prm.boda.dev/tags/hyperboria/</link><description>Philly Mesh (Hyperboria)</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Wed, 21 Dec 2016 23:08:09 +0000</lastBuildDate><atom:link href="https://prm.boda.dev/tags/hyperboria/index.xml" rel="self" type="application/rss+xml"/><item><title>Building DIY Community Mesh Networks (2600 Article)</title><link>https://prm.boda.dev/2016/12/21/building-diy-community-mesh-networks-2600-article/</link><pubDate>Wed, 21 Dec 2016 23:08:09 +0000</pubDate><author>Mike Dank (Famicoman)</author><guid>https://prm.boda.dev/2016/12/21/building-diy-community-mesh-networks-2600-article/</guid><description>&lt;p>&lt;em>Now that the article has been printed in &lt;a href="https://www.amazon.com/2600-Magazine-Hacker-Quarterly-ebook/dp/B01M1NJI3U/2600magazi-20">2600 magazine, Volume 33, Issue 3&lt;/a> (2016-10-10), I’m able to republish it on the web. The article below is my submission to 2600 with some slight formatting changes for hyperlinks.&lt;/em>&lt;/p>
&lt;h1 id="building-diy-community-mesh-networks" >Building DIY Community Mesh Networks
&lt;span>
&lt;a href="#building-diy-community-mesh-networks" title="Direct Link to Building DIY Community Mesh Networks">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h1>
&lt;p>By Mike Dank&lt;br>
&lt;a href="mailto:Famicoman@gmail.com">Famicoman@gmail.com&lt;/a>&lt;/p>
&lt;p>Today, we are faced with issues regarding our access to the Internet, as well as our freedoms on it. As governmental bodies fight to gain more control and influence over the flow of our information, some choose to look for alternatives to the traditional Internet and build their own networks as they see fit. These community networks can pop up in dense urban areas, remote locations with limited Internet access, and everywhere in between.Whether you are politically fueled by issues of net neutrality, privacy, and censorship, fed up with an oligarchy of Internet service providers, or just like tinkering with hardware, a wireless mesh network (or “meshnet”) can be an invaluable project to work on. Numerous groups and organizations have popped up all over the world, creating robust mesh networks and refining the technologies that make them possible. While the overall task of building a wireless mesh network for your community may seem daunting, it is easy to get started and scale up as needed.&lt;/p>
&lt;h2 id="what-are-mesh-networks" >What Are Mesh Networks?
&lt;span>
&lt;a href="#what-are-mesh-networks" title="Direct Link to What Are Mesh Networks?">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Think about your existing home network. Most people have a centralized router with several devices hooked up to it. Each device communicates directly with the central router and relies on it to relay traffic to and from other devices. This is called a hub/spoke topology, and you’ll notice that it has a single point of failure. With a mesh topology, many different routers (referred to as nodes) relay traffic to one another on the path to the target machine. Nodes in this network can be set up ad-hoc; if one node goes down, traffic can easily be rerouted to another node. If new nodes come online, they can be seamlessly integrated into the network. In the wireless space, distant users can be connected together with the help of directional antennas and share network access. As more nodes join a network, service only improves as various gaps are filled in and connections are made more redundant. Ultimately, a network is created that is both decentralized and distributed. There is no single point of failure, making it difficult to shut down.&lt;/p>
&lt;p>When creating mesh networks, we are mostly concerned with how devices are routing to and linking with one another. This means that most services you are used to running like HTTP or IRC daemons should be able to operate without a hitch. Additionally, you are presented with the choice of whether or not to create a darknet (completely separated from the Internet) or host exit nodes to allow your traffic out of the mesh.&lt;/p>
&lt;h2 id="existing-community-mesh-networking-projects" >Existing Community Mesh Networking Projects
&lt;span>
&lt;a href="#existing-community-mesh-networking-projects" title="Direct Link to Existing Community Mesh Networking Projects">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>One of the most well-known grassroots community mesh networks is &lt;a href="https://freifunk.net">Freifunk&lt;/a>, based out of Germany, encompassing over 150 local communities with over 25,000 access points. &lt;a href="https://guifi.net">Guifi.net&lt;/a> based in Spain, boasts over 27,000 nodes spanning over 36,000 km. In North America we see projects like &lt;a href="http://hyperboria.net">Hyperboria&lt;/a> which connect smaller mesh networking communities together such as &lt;a href="https://www.seattlemesh.net">Seattle Meshnet&lt;/a>, &lt;a href="https://nycmesh.net">NYC Mesh&lt;/a>, and&lt;a href="https://tomesh.net">Toronto Mesh&lt;/a>. We also see standalone projects like &lt;a href="http://www.pittmesh.net">PittMesh&lt;/a> in Pittsburgh, &lt;a href="http://gowasabi.net">WasabiNet&lt;/a> in St. Louis, and &lt;a href="https://sudoroom.org">People’s Open Network&lt;/a> in Oakland, California.&lt;/p>
&lt;p>While each of these mesh networks may run different software and have a different base of users, they all serve an important purpose within their communities. Additionally, many of these networks consistently give back to the greater mesh networking community and choose to share information about their hardware configurations, software stacks, and infrastructure. This only benefits those who want to start their own networks or improve existing ones.&lt;/p>
&lt;h2 id="picking-your-hardware--os" >Picking Your Hardware &amp;amp; OS
&lt;span>
&lt;a href="#picking-your-hardware--os" title="Direct Link to Picking Your Hardware &amp;amp; OS">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>When I was first starting out with &lt;a href="http://mesh.philly2600.net">Philly Mesh&lt;/a>, I was faced with the issue of acquiring hardware on a shoestring budget. Many will tell you that the best hardware is low-power computers with dedicated wireless cards. This however can incur a cost of several hundred dollars per node. Alternatively, many groups make use of SOHO routers purchased off-the-shelf, flashed with custom firmware. The most popular firmware used here is OpenWRT, an open source alternative that supports a large majority of consumer routers. If you have a relatively modern router in your house, there is a good chance it is already supported (if you are buying specifically for meshing, consider consulting &lt;a href="https://wiki.openwrt.org">OpenWRT’s wiki&lt;/a> for compatibility. Based on Linux, OpenWRT really shines with its packaging system, allowing you to easily install and configure packages of networking software across several routers regardless of most hardware differences between nodes. With only a few commands, you can have mesh packages installed and ready for production.&lt;/p>
&lt;p>Other groups are turning towards credit-card-sized computers like the BeagleBone Black and Raspberry Pi, using multiple USB WiFi dongles to perform over-the-air communication. Here, we have many more options for an operating system as many prefer to use a flavor of Linux or BSD, though most of these platforms also have OpenWRT support.&lt;/p>
&lt;p>There are no specific wrong answers here when choosing your hardware. Some platforms may be better suited to different scenarios. For the sake of getting started, spec’ing out some inexpensive routers (aim for something with at least two radios, 8MB of flash) or repurposing some Raspberry Pis is perfectly adequate and will help you learn the fundamental concepts of mesh networking as well develop a working prototype that can be upgraded or expanded as needed (hooray for portable configurations). Make sure you consider options like indoor vs outdoor use, 2.4 GHz vs. 5 GHz band, etc.&lt;/p>
&lt;h2 id="meshing-software" >Meshing Software
&lt;span>
&lt;a href="#meshing-software" title="Direct Link to Meshing Software">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>You have OpenWRT or another operating system installed, but how can you mesh your router with others wirelessly? Now, you have to pick out some software that will allow you to facilitate a mesh network. The first packages that you need to look at are for what is called the data link layer of the OSI model of computer networking (or OSI layer 2). Software here establishes the protocol that controls how your packets get transferred from node A to node B. Common software in this space is &lt;a href="https://www.open-mesh.org/projects/batman-adv/wiki">batman-adv&lt;/a> (not to be confused with the layer 3 &lt;a href="https://www.open-mesh.org/projects/batmand/wiki">B.A.T.M.A.N. daemon&lt;/a>), and &lt;a href="https://www.open80211s.org/">open80211s&lt;/a>, which are available for most operating systems. Each of these pieces of software have their own strengths and weaknesses; it might be best to install each package on a pair of routers and see which one works best for you. There is currently a lot of praise for batman-adv as it has been integrated into the mainline Linux tree and was developed by Freifunk to use within their own mesh network.&lt;/p>
&lt;p>Revisiting the OSI model again, you will also need some software to work at the network layer (OSI layer 3). This will control your IP routing, allowing for each node to compute where to send traffic next on its forwarding path to the final destination on the network. There are many software packages here such as &lt;a href="http://www.olsr.org/mediawiki/index.php/Main_Page">OLSR&lt;/a> (Optimized Link State Routing), B.A.T.M.A.N (Better Approach To Mobile Adhoc Networking), &lt;a href="https://www.irif.fr/~jch//software/babel/">Babel&lt;/a>, &lt;a href="https://github.com/bmx-routing/bmx6">BMX6&lt;/a>, and &lt;a href="https://github.com/cjdelisle/cjdns">CJDNS&lt;/a> (Caleb James Delisle’s Networking Suite). Each of these addresses the task in its own way, making use of a proactive, reactive, or hybrid approach to determine routing. B.A.T.M.A.N. and OLSR are popular here, both developed by Freifunk. Though B.A.T.M.A.N. was designed as a replacement for OLSR, each is actively used and OLSR is highly utilized in the Commotion mesh networking firmware (a router firmware based off of OpenWRT).&lt;/p>
&lt;p>For my needs, I settled on CJDNS which boasts IPv6 addressing, secure communications, and some flexibility in auto-peering with local nodes. Additionally, CJDNS is agnostic to how its host connects to peers. It will work whether you want to connect to another access point over batman-adv, or even tunnel over the existing Internet (similar to Tor or a VPN)! This is useful for mesh networks starting out that may have nodes too distant to connect wirelessly until more nodes are set up in-between. This gives you a chance to lay infrastructure sooner rather than later, and simply swap-out for wireless linking when possible. You also get the interesting ability to link multiple meshnets together that may not be geographically close.&lt;/p>
&lt;h2 id="putting-it-together" >Putting It Together
&lt;span>
&lt;a href="#putting-it-together" title="Direct Link to Putting It Together">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>At this point, you should have at least one node (though you will probably want two for testing) running the software stack that you have settled on. With wireless communications, you can generally say that the higher you place the antenna, the better. Many community mesh groups try to establish nodes on top of buildings with roof access, making use of both directional antennas (to connect to distant nodes within the line of sight) as well as omnidirectional antennas to connect to nearby nodes and/or peers. By arranging several distant nodes to connect to one another via line of sight, you can establish a networking backbone for your meshnet that other nodes in the city can easily connect to and branch off of.&lt;/p>
&lt;h2 id="gathering-interest" >Gathering Interest
&lt;span>
&lt;a href="#gathering-interest" title="Direct Link to Gathering Interest">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Mesh networks can only grow so much when you are working by yourself. At some point, you are going to need help finding homes for more nodes and expanding the network. You can easily start with friends and family – see if they are willing to host a node (they probably wouldn’t even notice it after a while). Otherwise, you will want to meet with like-minded people who can help configure hardware and software, or plan out the infrastructure. You can start small online by setting up a website with a mission statement and making a post or two on Reddit (&lt;a href="https://www.reddit.com/r/darknetplan/">/r/darknetplan&lt;/a> in particular) or Twitter. Do you have hackerspaces in your area? Linux or amateur radio groups? A 2600 meeting you frequent? All of these are great resources to meet people face-to-face and grow your network one node at a time.&lt;/p>
&lt;h2 id="conclusion" >Conclusion
&lt;span>
&lt;a href="#conclusion" title="Direct Link to Conclusion">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Starting a mesh network is easier than many think, and is an incredible way to learn about networking, Linux, micro platforms, embedded systems, and wireless communication. With only a few off-the-shelf devices, one can get their own working network set up and scale it to accommodate more users. Community-run mesh networks not only aid in helping those fed up with or persecuted by traditional network providers, but also those who want to construct, experiment, and tinker. With mesh networks, we can build our own future of communication and free the network for everyone.&lt;/p></description></item><item><title>Hyperboria 101 Article Published at N-O-D-E</title><link>https://prm.boda.dev/2016/02/17/hyperboria-101-article-published-at-n-o-d-e/</link><pubDate>Wed, 17 Feb 2016 22:30:20 +0000</pubDate><author>Mike Dank (Famicoman)</author><guid>https://prm.boda.dev/2016/02/17/hyperboria-101-article-published-at-n-o-d-e/</guid><description>&lt;p>Earlier this week I had an article published discussing Hyperboria and how the network works at a high level. It is titled &lt;em>Hyperboria 101 – Moving Through the Mesh&lt;/em>, and is available to view &lt;a href="https://n-o-d-e.net/hyperboria.html">here&lt;/a> through &lt;a href="https://n-o-d-e.net/">n-o-d-e.net&lt;/a>.&lt;/p></description></item><item><title>Running cjdns on Raspbian Jessie</title><link>https://prm.boda.dev/2016/02/08/running-cjdns-on-raspbian-jessie/</link><pubDate>Mon, 08 Feb 2016 22:17:03 +0000</pubDate><author>Mike Dank (Famicoman)</author><guid>https://prm.boda.dev/2016/02/08/running-cjdns-on-raspbian-jessie/</guid><description>&lt;p>If you’re like me, you have a few &lt;a href="https://www.raspberrypi.org/">Raspberry Pis&lt;/a> kicking around, waiting for a job to do. I adopted early and purchased (at least one) original Model B with 256MB of RAM. This was a nifty little box four years ago, but has since been overshadowed by its older brother, the revised Model B with 512MB of RAM, and its cousins: the B+ and RPi 2. These originals still have life left in them, and can often be found below the original $35 price tag. When it comes to running cjdns, they do a fantastic job!&lt;/p>
&lt;p>This post assumes you have a Raspberry Pi, power adapter, sd card, and enough smarts to hook the Pi up to your network and feed it a Raspbian image. This should work for any Model B Raspberry Pi, from the original up to the Raspberry Pi 2.&lt;/p>
&lt;h2 id="installation" >Installation
&lt;span>
&lt;a href="#installation" title="Direct Link to Installation">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The Hyperboria documentation offers &lt;a href="https://docs.meshwith.me/install/debian-jessie.html">a guide on installing for Debian Jessie&lt;/a>, but it fails on the Raspberry Pi out of the box. Prior to this, I was running Raspbian Wheezy with few issues in relation to cjdns, but other work I wanted to do had me yearning for a more up-to-date distribution. I grabbed Raspbian Jessie from &lt;a href="https://www.raspberrypi.org/downloads/raspbian/">the official download site&lt;/a> (Release date 2015-11-21), loaded it onto my SD card, and booted up.&lt;/p>
&lt;p>On an original Raspberry Pi, this process takes a while. At this point, start yourself a pot of coffee and then log on to your pi using the default username and password, &lt;strong>pi/raspberry&lt;/strong>. I run headless, so everything will be done from the console over ssh, but that shouldn’t matter too much.&lt;/p>
&lt;p>We are going to install cjdns as a service, so let’s change over into root to make this a little more comfortable.&lt;/p>
&lt;pre tabindex="0">&lt;code>su -
&lt;/code>&lt;/pre>&lt;p>If you have a fresh installation, be sure to run config and expand to fit the full size of your SD card, overclock if you want, and restart the pi when done. After restarting, log in again and change back to root.&lt;/p>
&lt;pre tabindex="0">&lt;code>raspi-config
&lt;/code>&lt;/pre>&lt;p>I also cannot express how important it is to change the default user and root passwords.&lt;/p>
&lt;pre tabindex="0">&lt;code>passwd pi
passwd root
&lt;/code>&lt;/pre>&lt;p>Now, we want to update, upgrade, and install some dependencies.&lt;/p>
&lt;pre tabindex="0">&lt;code>apt-get update
apt-get upgrade
apt-get install nodejs build-essential git
&lt;/code>&lt;/pre>&lt;p>Somewhere during these commands, your coffee should have finished. Go pour a cup and come back to watch the console until everything is tidied up.&lt;/p>
&lt;p>Afterwards, we are going to start building cjdns by pulling down the latest code and building.&lt;/p>
&lt;pre tabindex="0">&lt;code>cd /opt
git clone https://github.com/cjdelisle/cjdns.git
cd cjdns
NO_TEST=1 Seccomp_NO=1 ./do
&lt;/code>&lt;/pre>&lt;p>Pay close attention to this last line. We need to execute ./do in this fashion because of &lt;a href="https://github.com/hyperboria/cjdns/issues/6#issuecomment-162244016">a current issue with the kernel on Raspbian Jessie&lt;/a>.&lt;/p>
&lt;p>After a little wait, the build should finish successfully. Now we want to configure cjdns to run as a daemon, so let’s create a link to the binary, generate a configuration file, and copy over the service file.&lt;/p>
&lt;pre tabindex="0">&lt;code>ln -s /opt/cjdns/cjdroute /usr/bin
(umask 077 &amp;amp;&amp;amp; ./cjdroute --genconf &amp;amp;gt; /etc/cjdroute.conf)
cp contrib/systemd/cjdns.service /etc/systemd/system/
&lt;/code>&lt;/pre>&lt;p>All that’s left is to enable the service and start it up. Afterwards, it should start on every boot-up automatically.&lt;/p>
&lt;pre tabindex="0">&lt;code>systemctl enable cjdns
systemctl start cjdns
&lt;/code>&lt;/pre>&lt;p>If you want to edit your cjdroute.conf for adding peers or… well… anything else, simply edit the file in &lt;strong>/etc/cjdroute.conf&lt;/strong> and restart the service.&lt;/p>
&lt;pre tabindex="0">&lt;code>nano /etc/cjdroute.conf
systemctl restart cjdns
&lt;/code>&lt;/pre>&lt;p>At any point, you can check the status of the service:&lt;/p>
&lt;pre tabindex="0">&lt;code>systemctl
&lt;/code>&lt;/pre>&lt;p>In the output, you should see the following:&lt;/p>
&lt;pre tabindex="0">&lt;code>cjdns.service loaded active running cjdns: routing engine designed for sec...
&lt;/code>&lt;/pre>&lt;h2 id="troubleshooting--debugging" >Troubleshooting &amp;amp; Debugging
&lt;span>
&lt;a href="#troubleshooting--debugging" title="Direct Link to Troubleshooting &amp;amp; Debugging">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If at any point you want to check the output generated by starting cjdns, stop the service and run &lt;strong>cjdroute&lt;/strong> manually.&lt;/p>
&lt;pre tabindex="0">&lt;code>systemctl stop cjdns
/opt/cjdns/cjdroute &amp;lt; /etc/cjdroute.conf
&lt;/code>&lt;/pre>&lt;p>Occasionally, you may get a &lt;em>Configurator&lt;/em> error like this below:&lt;/p>
&lt;pre tabindex="0">&lt;code>1454470218 CRITICAL Configurator.c:97 Failed to make function call [Timed out waiting for a response], error: [UDPInterface_beginConnection]
&lt;/code>&lt;/pre>&lt;p>If this happens, run the following before starting cjdroute again to ensure that the ipv6 kernel module is loaded:&lt;/p>
&lt;pre tabindex="0">&lt;code>modprobe ipv6
&lt;/code>&lt;/pre>&lt;h1 id="conclusion" >Conclusion**
&lt;span>
&lt;a href="#conclusion" title="Direct Link to Conclusion**">
&lt;svg viewBox="0 0 28 23" height="100%" width="19" alt="" xmlns="http://www.w3.org/2000/svg">&lt;path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" fill="none" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2"/>&lt;/svg>
&lt;/a>
&lt;/span>
&lt;/h1>
&lt;p>That&amp;rsquo;s all it takes, you now have a node capable of connecting to Hyperboria! Now, all you need to do is find some peers, add them to your configuration file, and join the network!&lt;/p></description></item></channel></rss>