You shouldn’t need a managed switch, that just allows you some control over ports on the switch and data frames. Question: Is this a new switch? If it is not, maybe some of the existing settings are interfering. Maybe try resetting it? Your network might be expecting the switch’s IP address to be on the same subnet as the rest of your network also. Best to use an unmanaged one unless you’re dealing with VLAN’s, Quality of Service, bandwidth rate limiting, port mirroring or other esoteric services on your network. To simplify things, you could just plug your device directly into the router at first to get things going.
As a simple guide for simple folks, what are the various combinations, what should people try and in what order to join with a node, in a flowchart style?
I’m thinking:
Cloud VM node
safe node join --network-name NETWORK_NAME --skip-auto-port-forwarding
/// Should ‘just work’ unless the network is not accepting joins or there are problems on the network side
Home node
safe node join --network-name NETWORK_NAME --skip-auto-port-forwarding
If that fails:
safe node join --network-name NETWORK_NAME --public-addr PUBLIC_ADDR:12000 --skip-auto-port-forwarding
/// Get public IP address PUBLIC_ADDR
from ipconfig
(Windows) ifconfig
or iwconfig
(Linux, Mac), use port 12000
If that fails:
safe node join --network-name NETWORK_NAME --public-addr PUBLIC_ADDR:12000 --skip-auto-port-forwarding
/// Setup port-forwarding on your router using port 12000
If that fails:
Try home node with a VPN going through first 2 steps.
If that fails:
Your setup is conspiring against you. Try changing ISP contract to get a static domain, investigate switches etc as above
About right?
The standard steps look reasonable.
I think I am way in the weeds here, possibly/probably unnecessarily.
Remains to be seen when/if/how Maidsafe block NAT or not.
rock64@one:~$ /sbin/ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet xx.xxx.xx.51 netmask 255.255.255.0 broadcast xx.xxx.67.255
inet6 fe80::c816:9ff:fe6b:80f7 prefixlen 64 scopeid 0x20<link>
ether ca:16:09:6b:80:f7 txqueuelen 1000 (Ethernet)
alright but now
rock64@one:~$ ping google.com
PING google.com (142.250.217.174) 56(84) bytes of data.
From one (xx.xxx.xx.51) icmp_seq=1 Destination Host Unreachable
son of a gun!
Just a thought, try changing the nameserver in /etc/resolv.conf to 8.8.8.8
Should I reboot after this or apply somehow?
rock64@one:~$ ping google.com
ping: google.com: Temporary failure in name resolution
Hmm looks like it didn’t work. You don’t need to reboot, but if you do it will probably just switch it back again.
Your router might be requiring you to use the ISP’s listed DNS servers. Did you program the netmask setting of 255.255.255.0? Doesn’t seem right.
no, but that is what the ISP supplied. yes.
I had /24 changed to /29 and…
ping google.com
PING google.com (142.251.163.100) 56(84) bytes of data.
64 bytes from wv-in-f100.1e100.net (142.251.163.100): icmp_seq=1 ttl=103 time=55.7 ms
64 bytes from wv-in-f100.1e100.net (142.251.163.100): icmp_seq=2 ttl=103 time=53.3 ms
Thanks for all the help so far,
0.0.0.0 still haunts me.
when I sign into my SBC I am greeted with:
IP address for eth0: xx.xxx.67.51
curl ifconfig.co gives me:
xx.xxx.67.51
/sbin/ifconfig shows:
inet xx.xxx.67.51 netmask 255.255.255.248 broadcast xx.xxx.67.55
the network sees me as:
Node PID: 3107, prefix: Prefix(), name: 87efea(10000111).., age: 5, connection info: "0.0.0.0:37739"
Perhaps this is merely intended obfuscation of your IP address by SAFE? Someone more versed on the intricacies of SAFE might be able to help here.
Where are you seeing 0.0.0.0:37739 ? is that coming from a log on your laptop or somewhere else? The reason I’m asking is that quite often 0.0.0.0:port means the application is listening to all IP addresses on your server/laptop/etc. on that port - so you’re basically running node software that’s listening for connections coming from any interface (eth0 / lo0, etc.). I was wondering if that’s generally node behaviour when you don’t specify an IP address at node join time?
Apologies if I’ve got the wrong end of the stick - just skim read.
Once accepted as a node you receive the following, PID, Section, age, name and connection info: IP:port, this is where I see it.
Node PID: 3107, prefix: Prefix(), name: 87efea(10000111).., age: 5, connection info: "0.0.0.0:37739"
You may be on to something but off the top of my head joining from a cloud instance with the same command node join --network-name
the zero situation does not occur.
I will try with node join --network-name --public-addr
and see if it resolves the issue.
Not in my experience, this was a cloud instance:
What did your starting nodes report when they joyned?
I’m inclined to think:

Perhaps this is merely intended obfuscation of your IP address by SAFE?
But that’s for someone @maidsafe to confirm

What did your starting nodes report when they joyned?
Well, I’ll be damned,
node-4___165.227.238.167/logs/sn_node.log.20230126T225018:[2023-01-26T21:34:52.530367Z INFO sn_node::node::node_starter] 4a0ddc.. Starting a new node (PID: 2226) with socket: 0.0.0.0:33376, network's genesis key: PublicKey(05e0..2e20)
node-4___165.227.238.167/logs/sn_node.log.20230126T225018:[2023-01-26T21:34:53.217973Z INFO sn_node::node::node_starter] Node PID: 2226, prefix: Prefix(), name: 4a0ddc(01001010).., age: 5, connection info: "0.0.0.0:33376"
node-15___188.166.144.83/logs/sn_node.log.20230128T144413:[2023-01-28T14:41:24.526103Z INFO sn_node::node::node_starter] 28d112.. Starting a new node (PID: 7663) with socket: 0.0.0.0:37409, network's genesis key: PublicKey(05e0..2e20)
node-15___188.166.144.83/logs/sn_node.log.20230128T144413:[2023-01-28T14:43:24.539150Z INFO sn_node::node::node_starter] 86e682.. Starting a new node (PID: 7663) with socket: 0.0.0.0:44166, network's genesis key: PublicKey(05e0..2e20)
node-15___188.166.144.83/logs/sn_node.log.20230128T144413:[2023-01-28T14:43:26.691245Z INFO sn_node::node::node_starter] Node PID: 7663, prefix: Prefix(), name: 86e682(10000110).., age: 5, connection info: "0.0.0.0:44166"
node-6___134.209.190.108/logs/sn_node.log.20230126T223804:[2023-01-26T21:34:30.220794Z INFO sn_node::node::node_starter] be1b55.. Starting a new node (PID: 2000) with socket: 0.0.0.0:40970, network's genesis key: PublicKey(05e0..2e20)
node-6___134.209.190.108/logs/sn_node.log.20230126T223804:[2023-01-26T21:34:30.598774Z INFO sn_node::node::node_starter] Node PID: 2000, prefix: Prefix(), name: be1b55(10111110).., age: 5, connection info: "0.0.0.0:40970"
node-6___134.209.190.108/logs/sn_node.log.20230127T205449:[2023-01-27T20:52:33.865380Z ERROR sn_node::node::messaging::streams] Could not send response MsgId(cc2b..24a0) to peer Peer { name: 608d93(01100000).., addr: 82.32.185.3:45804 } over response initiator Bidirectional stream 4@82.32.185.3:4580493825020001040: StreamLost(Stopped(0))
node-14___139.59.180.171/logs/sn_node.log.20230128T144208:[2023-01-28T14:41:04.488653Z INFO sn_node::node::node_starter] 9ddbb1.. Starting a new node (PID: 2225) with socket: 0.0.0.0:45542, network's genesis key: PublicKey(05e0..2e20)
node-14___139.59.180.171/logs/sn_node.log.20230128T144208:[2023-01-28T14:41:12.708640Z INFO sn_node::node::node_starter] Node PID: 2225, prefix: Prefix(), name: 9ddbb1(10011101).., age: 5, connection info: "0.0.0.0:45542"
node-5___159.65.22.157/logs/sn_node.log.20230126T230940:[2023-01-26T21:34:56.449184Z INFO sn_node::node::node_starter] e58169.. Starting a new node (PID: 2222) with socket: 0.0.0.0:34398, network's genesis key: PublicKey(05e0..2e20)
node-5___159.65.22.157/logs/sn_node.log.20230126T230940:[2023-01-26T21:34:57.140505Z INFO sn_node::node::node_starter] Node PID: 2222, prefix: Prefix(), name: e58169(11100101).., age: 5, connection info: "0.0.0.0:34398"
node-10___178.62.97.163/logs/sn_node.log.20230126T230657:[2023-01-26T21:34:53.063872Z INFO sn_node::node::node_starter] c4a39b.. Starting a new node (PID: 2859) with socket: 0.0.0.0:57587, network's genesis key: PublicKey(05e0..2e20)
node-10___178.62.97.163/logs/sn_node.log.20230126T230657:[2023-01-26T21:34:53.826975Z INFO sn_node::node::node_starter] Node PID: 2859, prefix: Prefix(), name: c4a39b(11000100).., age: 5, connection info: "0.0.0.0:57587"
node-16___139.59.191.227/logs/sn_node.log.20230128T144217:[2023-01-28T14:41:26.441088Z INFO sn_node::node::node_starter] abd256.. Starting a new node (PID: 2405) with socket: 0.0.0.0:56248, network's genesis key: PublicKey(05e0..2e20)
node-16___139.59.191.227/logs/sn_node.log.20230128T144217:[2023-01-28T14:41:37.394900Z INFO sn_node::node::node_starter] Node PID: 2405, prefix: Prefix(), name: abd256(10101011).., age: 5, connection info: "0.0.0.0:56248"
node-8___144.126.200.241/logs/sn_node.log.20230126T223804:[2023-01-26T21:34:49.441162Z INFO sn_node::node::node_starter] 099047.. Starting a new node (PID: 2234) with socket: 0.0.0.0:42737, network's genesis key: PublicKey(05e0..2e20)
node-8___144.126.200.241/logs/sn_node.log.20230126T223804:[2023-01-26T21:34:50.086690Z INFO sn_node::node::node_starter] Node PID: 2234, prefix: Prefix(), name: 099047(00001001).., age: 5, connection info: "0.0.0.0:42737"
node-7___165.227.231.36/logs/sn_node.log.20230126T230718:[2023-01-26T21:34:54.419253Z INFO sn_node::node::node_starter] 5511ed.. Starting a new node (PID: 2394) with socket: 0.0.0.0:47608, network's genesis key: PublicKey(05e0..2e20)
node-7___165.227.231.36/logs/sn_node.log.20230126T230718:[2023-01-26T21:34:55.429282Z INFO sn_node::node::node_starter] Node PID: 2394, prefix: Prefix(), name: 5511ed(01010101).., age: 5, connection info: "0.0.0.0:47608"
node-3___178.62.99.199/logs/sn_node.log.20230126T224229:[2023-01-26T21:34:34.519344Z INFO sn_node::node::node_starter] e0563b.. Starting a new node (PID: 2011) with socket: 0.0.0.0:53660, network's genesis key: PublicKey(05e0..2e20)
node-3___178.62.99.199/logs/sn_node.log.20230126T224229:[2023-01-26T21:34:35.062648Z INFO sn_node::node::node_starter] Node PID: 2011, prefix: Prefix(), name: e0563b(11100000).., age: 5, connection info: "0.0.0.0:53660"
node-1___206.189.27.71/logs/sn_node.log.20230127T213458:[2023-01-27T21:33:56.731868Z ERROR sn_node::node::messaging::streams] Could not send response MsgId(e9f9..5b3c) to peer Peer { name: a9e789(10101001).., addr: 84.70.236.111:50469 } over response initiator Bidirectional stream 2@84.70.236.111:5046993825040202000: StreamLost(Stopped(0))
node-1___206.189.27.71/logs/sn_node.log.20230127T213458:[2023-01-27T21:33:57.435081Z ERROR sn_node::node::messaging::streams] Could not send response MsgId(d861..25b5) to peer Peer { name: a9e789(10101001).., addr: 84.70.236.111:33978 } over response initiator Bidirectional stream 0@84.70.236.111:3397893825040202000: StreamLost(Stopped(0))
node-13___139.59.184.216/logs/sn_node.log.20230128T144149:[2023-01-28T14:41:00.989445Z INFO sn_node::node::node_starter] 0914b2.. Starting a new node (PID: 2229) with socket: 0.0.0.0:56519, network's genesis key: PublicKey(05e0..2e20)
node-13___139.59.184.216/logs/sn_node.log.20230128T144149:[2023-01-28T14:41:03.195432Z INFO sn_node::node::node_starter] Node PID: 2229, prefix: Prefix(), name: 0914b2(00001001).., age: 5, connection info: "0.0.0.0:56519"
node-9___144.126.196.92/logs/sn_node.log.20230126T230934:[2023-01-26T21:34:56.551074Z INFO sn_node::node::node_starter] 4109dc.. Starting a new node (PID: 2230) with socket: 0.0.0.0:57807, network's genesis key: PublicKey(05e0..2e20)
node-9___144.126.196.92/logs/sn_node.log.20230126T230934:[2023-01-26T21:36:56.603786Z INFO sn_node::node::node_starter] 3559b3.. Starting a new node (PID: 2230) with socket: 0.0.0.0:39164, network's genesis key: PublicKey(05e0..2e20)
node-9___144.126.196.92/logs/sn_node.log.20230126T230934:[2023-01-26T21:36:57.886561Z INFO sn_node::node::node_starter] Node PID: 2230, prefix: Prefix(), name: 3559b3(00110101).., age: 5, connection info: "0.0.0.0:39164"
node-12___167.71.133.194/logs/sn_node.log.20230126T231100:[2023-01-26T21:35:10.232435Z INFO sn_node::node::node_starter] dc5f83.. Starting a new node (PID: 2414) with socket: 0.0.0.0:37235, network's genesis key: PublicKey(05e0..2e20)
node-12___167.71.133.194/logs/sn_node.log.20230126T231100:[2023-01-26T21:35:14.564193Z INFO sn_node::node::node_starter] Node PID: 2414, prefix: Prefix(), name: dc5f83(11011100).., age: 5, connection info: "0.0.0.0:37235"
node-2___178.62.88.236/logs/sn_node.log.20230126T225052:[2023-01-26T21:34:52.235864Z INFO sn_node::node::node_starter] 236bcb.. Starting a new node (PID: 2849) with socket: 0.0.0.0:46065, network's genesis key: PublicKey(05e0..2e20)
node-2___178.62.88.236/logs/sn_node.log.20230126T225052:[2023-01-26T21:34:52.805575Z INFO sn_node::node::node_starter] Node PID: 2849, prefix: Prefix(), name: 236bcb(00100011).., age: 5, connection info: "0.0.0.0:46065"
node-11___167.71.131.59/logs/sn_node.log.20230126T223805:[2023-01-26T21:34:51.609268Z INFO sn_node::node::node_starter] 839040.. Starting a new node (PID: 2854) with socket: 0.0.0.0:60476, network's genesis key: PublicKey(05e0..2e20)
node-11___167.71.131.59/logs/sn_node.log.20230126T223805:[2023-01-26T21:34:52.526112Z INFO sn_node::node::node_starter] Node PID: 2854, prefix: Prefix(), name: 839040(10000011).., age: 5, connection info: "0.0.0.0:60476"
Here we go, so that’s not a valid condition to verify whether your set-up is correct

I was wondering if that’s generally node behaviour when you don’t specify an IP address at node join time?
You got it, starting the node with --public-addr got rid of 0.0.0.0
Huge thanks to all for helping me to get this sorted.
We really need to clear this all up and make it automatic. 0.0.0.0 is a special address, it means any local address on your machine. So it tries to bind to every local IP, even 127 etc.
Not a huge deal, but it means you don’t know what your local IP:port is, but it’s networking and almost any config can be wrong in some settings etc. It’s not for the end user to know this IMO.
Would it be possible to add a little extra explanation about the public-addr here, just to be sure ?
Is this like this :
(internet)-----[PUBLIC ADDRESS](Router)-----[PRIVATE/INTERNAL ADDRESS](Node Host)
or like that :
(internet)-----(router)-----[PUBLIC ADDRESS](Node Host)
Looks like --public-addr has been deprecated anyway.
The public_addr was not used in the actual code anymore. Therefore we removed it, it should not make a difference to how a node runs. What exactly did your ISP need that required you to set the public_addr?