~~SBC Network?~~ NAT nightmares

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.

2 Likes

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 :point_up_2:

About right?

3 Likes

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.

3 Likes
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!

1 Like

Just a thought, try changing the nameserver in /etc/resolv.conf to 8.8.8.8

1 Like

Should I reboot after this or apply somehow?
:point_down:

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.

1 Like

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.

1 Like

no, but that is what the ISP supplied. yes. :innocent:

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
1 Like

Thanks for all the help so far, :clap:
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.

3 Likes

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.

1 Like

Not in my experience, this was a cloud instance:

What did your starting nodes report when they joyned?
I’m inclined to think:

But that’s for someone @maidsafe to confirm

1 Like

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"
2 Likes

Here we go, so that’s not a valid condition to verify whether your set-up is correct

1 Like

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. :muscle:

3 Likes

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.

10 Likes

Would it be possible to add a little extra explanation about the public-addr here, just to be sure :slight_smile: ?
Is this like this :
(internet)-----[PUBLIC ADDRESS](Router)-----[PRIVATE/INTERNAL ADDRESS](Node Host)
or like that :
(internet)-----(router)-----[PUBLIC ADDRESS](Node Host)

1 Like

Looks like --public-addr has been deprecated anyway.

1 Like