Producer unable to communicate with external relays

I have (1) stakepool and (3) relays.

One relay is internal and setup on the same network as the producer. Relay topology has the internal BP IP, it shows up as an IN and OUT peer on gLiveView and all is good (this works).

The other two relays are outside of the network. Port forwarding/FW rules have been setup on the producer side router, to allow the relays talk to the BP (this works). The remote side also has port forwarding/FW rules setup to allow the producer to talk to the relays (this doesn’t work).

image

I verified the ports are open on the remote side and my side at: Open Port Check Tool - Test Port Forwarding on Your Router

Producer Topology file:
{
“Producers”: [
{
“addr”: “192.168.50.40”, (internal network relay)
“port”: 6001,
“valency”: 1
},
{
“addr”: “relay.site.addr”, (remote relay site #1)
“port”: 6000,
“valency”: 1
},
{
“addr”: “relay.site.addr”, (remote relay site #2)
“port”: 6002,
“valency”: 1
}
]
}

Relay #2 Remote relay topology file:
{
“Producers”: [
{
“addr”: “producer.site.addr”, (internal network producer)
“port”: 6000,
“valency”: 1
},
{
“addr”: “producer.site.addr”, (internal network relay)
“port”: 6001,
“valency”: 1
},
{
“addr”: “relay.site.addr”, (remote relay #3)
“port”: 6002,
“valency”: 1
},
{
“addr”: “relays-new.cardano-mainnet.iohk.io”,
“port”: 3001,
“valency”: 2
}
]
}

Anyone have any ideas? I’m stumped!

Hi!

Try to test the relay node listening port from bp node with the following command;

$ netcat -zvn 127.0.0.1 3001
Connection to 127.0.0.1 3001 port [tcp/*] succeeded!

change 127.0.0.1 with relay public IP address

Hello again! haha

Connection to (relay ip) port [tcp/*] succeeded!

This was from the BP to the remote relay that’s not showing up in gLiveView.

next step would be to check the logs of the block producer - to see whether really trying to connect to the relays - so grep the IP addresses in the log… what is the result?

I changed the ip and domain info, but this is what it looks like in the BP log:

May 03 15:35:42 stakepool startBlockProducingNode.sh[1701834]: [stakepoo:cardano.node.DnsSubscription:Notice:13012] [2021-05-03 20:35:42.54 UTC] Domain: "remote.relay.address" Connection Attempt Start, destination 9.9.9.9:6002
May 03 15:35:42 stakepool startBlockProducingNode.sh[1701834]: [stakepoo:cardano.node.DnsSubscription:Notice:13012] [2021-05-03 20:35:42.60 UTC] Domain: "remote.relay.address" Connection Attempt End, destination 9.9.9.9:6002 outcome: ConnectSuccess
May 03 15:35:42 stakepool startBlockProducingNode.sh[1701834]: [stakepoo:cardano.node.DnsSubscription:Warning:283] [2021-05-03 20:35:42.60 UTC] Domain: "remote.relay.address" Failed to start all required subscriptions

are the relays synced?

I thought one of them was, but they aren’t quite there yet. So, I will wait until that’s complete - that might be it!

ok - please update this thread when they synced…

1 Like

You bet! It’s frustrating when people leave these unresolved lol Thanks for your help, btw!

1 Like

Ugh… this is painful to admit, but that was exactly it. Everything is working exactly how it should. I just needed to wait until they were synced. Thanks again!

1 Like

So now I know why topologyupdater checks the syncing state of the node… since it is needed for others to able to connect… thanks the update

1 Like