No incoming connections on relays (unless manually added)

Hey,

Wondering if anyone had some advice.

CNFT Pool | pool1drxxm3mncpnn9zjruh3ppp44zhfrlqexckgr2fzejme5k8dmv63

  • Not getting incoming connections to stick
  • UFW is fine / XXXX ports open to all
  • TopologyUpdater.sh reports working fine in logs
  • If I ask a friend to add me to their node manually, they connect and stick with me
  • Periodically see random connections come in but they last maybe a few hours then leave
  • Node has been up for weeks (other than some reboots while trying to find a fix)
  • Outgoing is fine

Relays:
au1.cnftpool.com 6011
image

au3.cnftpool.com 6033
image

TopologyUpdater.sh logs (same on both relays)

TopologyUpdater.sh config
image

Relay 3
image

image

Edited, Ignore that:

Summary

I would guess that you have asymmetric NAT. Basically for incoming connection your IP is “xxx.132.94.135”(I put xxx to mask first octet), but for outgoing is something else, that why topology updater is confused.

Just run on your relays curl ifconfig.me and see what IP it shows, I’m pretty sure it is different from “xxx.132.94.135”

Did you configure your port with CNODE_PORT, in your topology?

image

image

  • curl ifconfig.me responds with correct IP as above
  • port is set in env file, reflected in the gLiveView.sh correctly too
  • if you add me manually to your topology file, then it will connect okay so it indicates that the cnode is set up correctly

Is there any way to confirm with TopologyUpdater service if my correct port is being reflected upon notifying their service? Logs don’t reflect any port as far as I can see but it feels like I am not being added to the TopologyUpdater services correctly and thus no one is looking for me

I personally never used guild operator scripts…

But I assume you have following code:

I would recommend then to print out to logfile url what is being queried.

Add that line below line 126(curl -s -f -4 "https://api.clio.one/htopology.....):

echo "https://api.clio.one/htopology/v1/?port=${CNODE_PORT}&blockNo=${blockNo}&valency=${CNODE_VALENCY}&magic=${NWMAGIC}${T_HOSTNAME}" >> /tmp/topo.log

That code should print exact URL to /tmp/topo.log. Next time after running topologyUpdater.sh, you should see something in that file. Please paste it here…

Prints this to log; looks fine noting port 6011 which is correct.

Now I am even more at a lost end as to why no peers will come stick with me

Hmmm… I’m lost here…

Other solution would be to use p2p. I haven’t used topologyUpdater almost for a year…

Any particular reason you need to stick with it?

Yea, I tried P2P a few months ago but I moved back but again I found I wasn’t getting many incoming either.
I just restarted the node I enabled P2P on and I currently only have my 3 nodes as incoming.
Will give it another go for a while and see if that goes up

This still the best config to be using on mainnet?

image

Configs seems to be ok,

config.json I just use default one with just added those 2 lines:

  "EnableP2P": true,
  "TestEnableDevelopmentNetworkProtocols": true,

Apologies for reviving this thread, but did you ever find a solution for this? I’m having the same issue as the OP with my relay node’s incoming connections:

  • Relay has been running for weeks and transaction count is increasing
  • 20+ outgoing connections, but only 1 incoming connection from a peer other than my BP
  • UFW port is open at the correct port (tcp allow in anywhere) and matches the port specified in startCardanoNode.sh and topologyUpdater.sh
  • Port forwarding properly set up in my router
  • topologyUpdater.sh log reports “glad you’re staying with us” every hour for weeks
  • Relay port is open at the relay’s public IP on yougetsignal

The fact that I’m getting 1 incoming connection from an outside peer is odd because it suggests my relay is indeed reachable. But only 1 peer has connected to me despite participating in the TopologyUpdater service for weeks.

I’ve tried all the recommendations in this thread, but none have increased my incoming connections. It seems like everything is set up correctly on my end, but only 1 outside peer is connecting to me. Is it possible that I’m not being added to the TopologyUpdater service correctly and thus no one is looking for me?

Solution is just to enable P2P on your nodes.
I saw more connections coming as indicated by uni-di & the bi-di count.
Not by the incoming count which only shows my manual relay connections

Thanks Mat. I’ll enabled P2P and now have 45 uni-dir connections and 9 bi-dir connections (0 duplex).

I haven’t yet read the documentation around what that means, but I’m assuming at least the bi-dir connections encompass the functionality of an incoming connection in the non-P2P topology. If so, then hopefully any blocks I produce can propagate out via the bi-dir connections.

Uni = one in latin
Bi = two latin
Di = direction (short form)

My understanding just from guesswork;
Uni-di will be you to peer, or peer to you with 1 way traffic

Bi-di means you have a 2 way connection with another peer, but yes you should most definitely propagate blocks now. I got one the other day with P2P on