restructured manual
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
- [Introduction](#introduction)
|
||||
- [Connect to Other Nodes](#connect-to-other-nodes)
|
||||
- [Hosted Public Nodes](#hosted-public-nodes)
|
||||
- [Possible Peers](#possible-peers)
|
||||
- [Default Port](#default-port)
|
||||
- [Check Network Information](#check-network-information)
|
||||
- [Test the Network](#test-the-network)
|
||||
@@ -14,11 +14,6 @@
|
||||
- [API](#api)
|
||||
- [Message System](#message-system)
|
||||
- [Inspecting Node Keys](#inspecting-node-keys)
|
||||
- [Troubleshooting](#troubleshooting)
|
||||
- [Root Access](#root-access)
|
||||
- [Enable IPv6 at the OS Level](#enable-ipv6-at-the-os-level)
|
||||
- [VPN Can Block Mycelium](#vpn-can-block-mycelium)
|
||||
- [Add Peers](#add-peers)
|
||||
|
||||
***
|
||||
|
||||
@@ -41,32 +36,18 @@ If you are using other tun inferface, e.g. utun3 (default), you can set a differ
|
||||
mycelium --peers tcp://83.231.240.31:9651 quic://185.206.122.71:9651 --tun-name utun9
|
||||
```
|
||||
|
||||
## Hosted Public Nodes
|
||||
## Possible Peers
|
||||
|
||||
A couple of public nodes are provided, which can be freely connected to. This allows
|
||||
anyone to join the global network. These are hosted in 3 geographic regions, on both
|
||||
IPv4 and IPv6, and supporting both the Tcp and Quic protocols. The nodes are the
|
||||
following:
|
||||
Here are some possible peers.
|
||||
|
||||
| Node ID | Region | IPv4 | IPv6 | Tcp port | Quic port |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 01 | DE | 188.40.132.242 | 2a01:4f8:221:1e0b::2 | 9651 | 9651 |
|
||||
| 02 | DE | 136.243.47.186 | 2a01:4f8:212:fa6::2 | 9651 | 9651 |
|
||||
| 03 | BE | 185.69.166.7 | 2a02:1802:5e:0:8478:51ff:fee2:3331 | 9651 | 9651 |
|
||||
| 04 | BE | 185.69.166.8 | 2a02:1802:5e:0:8c9e:7dff:fec9:f0d2 | 9651 | 9651 |
|
||||
| 05 | FI | 65.21.231.58 | 2a01:4f9:6a:1dc5::2 | 9651 | 9651 |
|
||||
| 06 | FI | 65.109.18.113 | 2a01:4f9:5a:1042::2 | 9651 | 9651 |
|
||||
|
||||
These nodes are all interconnected, so 2 peers who each connect to a different node
|
||||
(or set of disjoint nodes) will still be able to reach each other. For optimal performance,
|
||||
it is recommended to connect to all of the above at once however. An example connection
|
||||
string could be:
|
||||
|
||||
`--peers tcp://188.40.132.242:9651 "tcp://[2a01:4f8:212:fa6::2]:9651" quic://185.69.166.7:9651 "tcp://[2a02:1802:5e:0:8c9e:7dff:fec9:f0d2]:9651" tcp://65.21.231.58:9651 "quic://[2a01:4f9:5a:1042::2]:9651"`
|
||||
|
||||
It is up to the user to decide which peers he wants to use, over which protocol.
|
||||
Note that quotation may or may not be required, depending on which shell is being
|
||||
used.
|
||||
```
|
||||
tcp://146.185.93.83:9651
|
||||
quic://83.231.240.31:9651
|
||||
quic://185.206.122.71:9651
|
||||
tcp://[2a04:f340:c0:71:28cc:b2ff:fe63:dd1c]:9651
|
||||
tcp://[2001:728:1000:402:78d3:cdff:fe63:e07e]:9651
|
||||
quic://[2a10:b600:1:0:ec4:7aff:fe30:8235]:9651
|
||||
```
|
||||
|
||||
## Default Port
|
||||
|
||||
@@ -155,39 +136,4 @@ Where the output could be something like this:
|
||||
```sh
|
||||
Public key: a47c1d6f2a15b2c670d3a88fbe0aeb301ced12f7bcb4c8e3aa877b20f8559c02
|
||||
Address: 27f:b2c5:a944:4dad:9cb1:da4:8bf7:7e65
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Root Access
|
||||
|
||||
You might need to run Mycelium as root. Some error messages could be something like: `Error: NixError(EPERM)`.
|
||||
|
||||
### Enable IPv6 at the OS Level
|
||||
|
||||
You need to enable IPv6 at the OS level. Some error messages could be something like: `Permission denied (os error 13)`.
|
||||
|
||||
- Check if IPv66 is enabled
|
||||
- If disabled, output is 1, if enabled, output is 0
|
||||
```
|
||||
sysctl net.ipv6.conf.all.disable_ipv6
|
||||
```
|
||||
- Enable IPv6
|
||||
```
|
||||
sudo sysctl net.ipv6.conf.all.disable_ipv6=0
|
||||
```
|
||||
|
||||
Here's some commands to troubleshoot IPv6:
|
||||
|
||||
```
|
||||
sudo ip6tables -S INPUT
|
||||
sudo ip6tables -S OUTPUT
|
||||
```
|
||||
|
||||
### VPN Can Block Mycelium
|
||||
|
||||
You might need to disconnect your VPN when using Mycelium.
|
||||
|
||||
### Add Peers
|
||||
|
||||
It can help to connect to other peers. Check the Mycelium repository for [peers](https://github.com/threefoldtech/mycelium?tab=readme-ov-file#hosted-public-nodes).
|
||||
```
|
@@ -4,28 +4,19 @@
|
||||
<h2>Table of Contents</h2>
|
||||
|
||||
- [Introduction](#introduction)
|
||||
- [Considerations](#considerations)
|
||||
- [Set Mycelium](#set-mycelium)
|
||||
- [Start Mycelium](#start-mycelium)
|
||||
- [Use Mycelium](#use-mycelium)
|
||||
- [Mycelium Service (optional)](#mycelium-service-optional)
|
||||
- [Full VM Example](#full-vm-example)
|
||||
|
||||
***
|
||||
|
||||
## Introduction
|
||||
|
||||
In this section, we cover how to install Mycelium. This guide can be done on a local machine and also on a full VM running on the TFGrid.
|
||||
In this section, we cover how to install Mycelium. For this guide, we will show the steps on a full VM running on the TFGrid.
|
||||
|
||||
Currently, Linux, macOS and Windows are supported. On Windows, you must have `wintun.dll` in the same directory you are executing the binary from.
|
||||
|
||||
## Considerations
|
||||
|
||||
You might need to run Mycelium as root, enable IPv6 at the OS level and disconnect your VPN.
|
||||
|
||||
Read the [Troubleshooting](./information.md#troubleshooting) section for more information.
|
||||
|
||||
## Set Mycelium
|
||||
## Full VM Example
|
||||
|
||||
- Deploy a Full VM with Planetary network and SSH into the VM
|
||||
- Update the system
|
||||
```
|
||||
apt update
|
||||
@@ -42,75 +33,16 @@ Read the [Troubleshooting](./information.md#troubleshooting) section for more in
|
||||
```
|
||||
mv mycelium /usr/local/bin
|
||||
```
|
||||
|
||||
## Start Mycelium
|
||||
|
||||
You can start Mycelium
|
||||
|
||||
- Start Mycelium
|
||||
```
|
||||
mycelium --peers tcp://83.231.240.31:9651 quic://185.206.122.71:9651 --tun-name utun2
|
||||
```
|
||||
- Open another terminal
|
||||
- Check the Mycelium connection information (address and public key)
|
||||
- Check the Mycelium connection information (address: ...)
|
||||
```
|
||||
mycelium inspect --json
|
||||
```
|
||||
|
||||
## Use Mycelium
|
||||
|
||||
Once you've set Mycelium, you can use it to ping other addresses and also to connect into VMs running on the TFGrid.
|
||||
|
||||
- Ping the VM from another machine with IPv6
|
||||
```
|
||||
ping6 mycelium_address
|
||||
```
|
||||
- SSH into a VM running on the TFGrid
|
||||
```
|
||||
ssh root@vm_mycelium_address
|
||||
```
|
||||
|
||||
## Mycelium Service (optional)
|
||||
|
||||
You can create a systemd service to make sure Mycelium is always enabled and running.
|
||||
|
||||
- Create a Mycelium service
|
||||
```bash
|
||||
nano /etc/systemd/system/mycelium.service
|
||||
```
|
||||
- Set the service and save the file
|
||||
```
|
||||
[Unit]
|
||||
Description=End-2-end encrypted IPv6 overlay network
|
||||
Wants=network.target
|
||||
After=network.target
|
||||
Documentation=https://github.com/threefoldtech/mycelium
|
||||
|
||||
[Service]
|
||||
ProtectHome=true
|
||||
ProtectSystem=true
|
||||
SyslogIdentifier=mycelium
|
||||
CapabilityBoundingSet=CAP_NET_ADMIN
|
||||
StateDirectory=mycelium
|
||||
StateDirectoryMode=0700
|
||||
ExecStartPre=+-/sbin/modprobe tun
|
||||
ExecStart=/usr/local/bin/mycelium --tun-name mycelium -k %S/mycelium/key.bin --peers tcp://146.185.93.83:9651 quic://83.231.240.31:9651 quic://185.206.122.71:9651 tcp://[2a04:f340:c0:71:28cc:b2ff:fe63:dd1c]:9651 tcp://[2001:728:1000:402:78d3:cdff:fe63:e07e]:9651 quic://[2a10:b600:1:0:ec4:7aff:fe30:8235]:9651
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
TimeoutStopSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
- Enable the service
|
||||
```
|
||||
systemctl daemon-reload
|
||||
systemctl enable mycelium
|
||||
systemctl start mycelium
|
||||
```
|
||||
- Verify that the Mycelium service is properly running
|
||||
```
|
||||
systemctl status mycelium
|
||||
```
|
||||
|
||||
Systemd will start up the Mycelium, restart it if it ever crashes, and start it up automatically after any reboots.
|
||||
```
|
Reference in New Issue
Block a user