From 7e1cd222bcb6c83849fbe839e4ce02f327e7f651 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sun, 3 Jan 2021 14:29:30 +0100 Subject: content: Update documentation to contact server As of 0.18, there should not be a need for port forwards for the ipcpd-udp. --- content/en/docs/Start/check.md | 58 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/content/en/docs/Start/check.md b/content/en/docs/Start/check.md index 69c5bef..494ee33 100644 --- a/content/en/docs/Start/check.md +++ b/content/en/docs/Start/check.md @@ -1,6 +1,6 @@ --- title: "Check installation" -date: 2019-12-30 +date: 2021-01-03 weight: 40 description: > Check if ouroboros works. @@ -12,22 +12,18 @@ the [Tutorials](../../tutorials/) section, or you can try to ping this webhost over ouroboros using the name _ouroboros.rocks.oping_ Our webserver is of course on an IP network, and ouroboros does not -control IP, but it can run over UDP. +control IP, but it can run over UDP/IP. To be able to contact our server over ouroboros, you will need to do -some IP configuration: to tell the ouroboros UDP system that the -process "ouroboros.rocks.oping" is running on our webserver by adding -the line +some small DNS configuration: to tell the ouroboros UDP system that +the process "ouroboros.rocks.oping" is running on our webserver by +add the line ``` 51.38.114.133 1bf2cb4fb361f67a59907ef7d2dc5290 ``` -to your /etc/hosts file (it's the IP address of our server and the MD5 -hash of _ouroboros.rocks.oping_). - -You will also need to forward UDP port 3435 on your NAT firewall if -you are behind a NAT. Else this will not work. +to your ```/etc/hosts``` file[^1][^2]. Here are the steps to ping our server over ouroboros: @@ -42,8 +38,48 @@ daemon (ipcpd-udp) on that interface: $ irm ipcp bootstrap type udp name udp layer udp ip ``` -Now you should be able to ping our server! +Now you can ping our server: ```bash $ oping -n ouroboros.rocks.oping ``` + +The output from the IRM daemon should look something like this (in DEBUG mode): +``` +[dstaesse@heteropoda build]$ sudo irmd --stdout +==01749== irmd(II): Ouroboros IPC Resource Manager daemon started... +==01749== irmd(II): Created IPCP 1781. +==01781== ipcpd/udp(DB): Bootstrapped IPCP over UDP with pid 1781. +==01781== ipcpd/udp(DB): Bound to IP address 192.168.66.233. +==01781== ipcpd/udp(DB): Using port 3435. +==01781== ipcpd/udp(DB): DNS server address is not set. +==01781== ipcpd/ipcp(DB): Locked thread 140321690191424 to CPU 7/8. +==01749== irmd(II): Bootstrapped IPCP 1781 in layer udp. +==01781== ipcpd/ipcp(DB): Locked thread 140321681798720 to CPU 6/8. +==01781== ipcpd/ipcp(DB): Locked thread 140321673406016 to CPU 1/8. +==01781== ipcpd/udp(DB): Allocating flow to 1bf2cb4f. +==01781== ipcpd/udp(DB): Destination UDP ipcp resolved at 51.38.114.133. +==01781== ipcpd/udp(DB): Flow to 51.38.114.133 pending on fd 64. +==01749== irmd(II): Flow on flow_id 0 allocated. +==01781== ipcpd/udp(DB): Flow allocation completed on eids (64, 64). +==01749== irmd(DB): Partial deallocation of flow_id 0 by process 1800. +==01749== irmd(II): Completed deallocation of flow_id 0 by process 1781. +==01781== ipcpd/udp(DB): Flow with fd 64 deallocated. +==01749== irmd(DB): Dead process removed: 1800. +``` + +If connecting to _ouroboros.rocks.oping_ failed, you are probably +behind a NAT firewall that is actively blocking outbound UDP port +3435. + +[^1]: This is the IP address of our server and the MD5 hash of the + string _ouroboros.rocks.oping_. To check if this is configured + correctly, you should be able to ping the server with ```ping + 1bf2cb4fb361f67a59907ef7d2dc5290``` from the command line. + +[^2]: The ipcpd-udp allows setting up a (private) DDNS server and + using the Ouroboros ```irm name``` API to populate it, instead + of requiring each node to manually edit the ```/etc/hosts``` + file. While we technically could also set up such a DNS on our + server for demo purposes, it is just too likely that it would be + abused. The Internet is a nasty place. \ No newline at end of file -- cgit v1.2.3