2

I am setting up a stake pool on mainnet after practicing on testnet for a while, but I can't get over this issue. BP is supposed to connect to my relay only, but I get the following:

BP:

[vmi92943:cardano.node.IpSubscription:Info:376] [2022-07-22 02:37:28.30 UTC] IPs: 0.0.0.0:0 [RelayIP:6000] Connection Attempt Start, destination RelayIP:6000
[vmi92943:cardano.node.IpSubscription:Error:376] [2022-07-22 02:37:31.36 UTC] IPs: 0.0.0.0:0 [RelayIP:6000] Connection Attempt Exception, destination RelayIP:6000 exception: Network.Socket.connect: <socket: 131>: does not exist (No route to host)
[vmi92943:cardano.node.ErrorPolicy:Notice:360] [2022-07-22 02:37:31.36 UTC] IP RelayIP:6000 ErrorPolicySuspendConsumer (Just (ConnectionExceptionTrace Network.Socket.connect: <socket: 131>: does not exist (No route to host))) 20s
[vmi92943:cardano.node.IpSubscription:Error:362] [2022-07-22 02:37:31.36 UTC] IPs: 0.0.0.0:0 [RelayIP:6000] Failed to start all required subscriptions

Relay:

[vmi92943:cardano.node.IpSubscription:Info:428] [2022-07-22 02:40:52.25 UTC] IPs: 0.0.0.0:0 [BPIP:6000] Skipping peer BPIP:6000
[vmi92943:cardano.node.IpSubscription:Error:428] [2022-07-22 02:40:52.25 UTC] IPs: 0.0.0.0:0 [BPIP:6000] Failed to start all required subscriptions
[vmi92943:cardano.node.IpSubscription:Info:428] [2022-07-22 02:40:53.25 UTC] IPs: 0.0.0.0:0 [BPIP:6000] Restarting Subscription after 1.004306329s desired valency 1 current valency 0

My topology seems to be fine:

BP:

{
  "Producers": [
    {
      "addr": "Relay ip",
      "port": 6000,
      "valency": 1
    }
  ]
}

Relay:

 {
    "Producers": [
      {
        "addr": "BP ip",
        "port": 6000,
        "valency": 1
      },
      {
        "addr": "relays-new.cardano-mainnet.iohk.io",
        "port": 3001,
        "valency": 2
      }
    ]
  }

Currently I have no firewall on both systems.

I can't figure out the source of this issue. Thanks in advance for your help.

18
  • Starting with the obvious, can you confirm that each node server can ping the other, and that each node is running on the expected port number. Then try netstat -tpan to see IPs, ports and processes - everything look as expected there (for the cardano node process)? Port 6000 is often used by X Windows - do you need to change it? Jul 22, 2022 at 4:46
  • The nodes are running on Ubuntu, still, I changed the ports of bp and relay to 3002 and 3001, I am getting the same error as before. I runned ` telnet relay/bp ip port` and I get telnet: Unable to connect to remote host: No route to host in both machines. Jul 22, 2022 at 14:57
  • I checked my ports at yougetsignal.com/tools/open-ports and both nodes show as open. Jul 22, 2022 at 15:14
  • 1
    A couple of things I noticed 1) Your relay service refs cardanobp (in 3 spots) but relay script refs cardano - was that a bad copy/paste? 2) Is your socket file named $DIR/db/socket? Most people use $DIR/db/node.socket, not that it matters as long as you are consistent when setting CARDANO_NODE_SOCKET_PATH Jul 27, 2022 at 3:27
  • 1
    Also, check the iptables rules (eg sudo iptables -S) for your IPs and Ports. Start UFW and make sure the node/relay ports are accepting from all IPs ie from 'Anywhere' eg sudo ufw status verbose (you can lock down the inbound IP of your relay on the BP node later, so then only the relay can connect to your BP), and monitor all updated logs in /var/log. Jul 27, 2022 at 4:14

1 Answer 1

1

the error is caused by a connectivity problem, but we can't be sure of what is exactly causing the problem without you providing additional details, so I would start diagnosing the connectivity between the two hosts. Please post masked results.

Please check IP addresses, and make sure you have them correctly, run in each host. Please specify if both hosts belong to the same subnet or not and if possible your hosting provider (some may require a special routing setup or policies).:

ip a

Please use IP numbers for the other tests below (instead of hostnames).

Please ping and tracert from each host to the other.

ping other_host
sudo apt install traceroute
traceroute other_host

Check if ufw or iptables are running in each host:

sudo ufw status numbered
service iptables status

Check if there's something running in the expected port:

netstat -an |grep LISTEN |grep your_port_for_that_host

If there's connectivity (you've got ping replies), there's no firewall (at least in your hosts), and your ports are in LISTEN state, you should be able to connect. Otherwise we should start looking outside your hosts (i.e. a network firewall).

Please check that the host 1 port is reachable from host 2. From host 1:

nc -zv host_2_ip host_2_port

Depending on the results for the above tests, we can test further.

EDIT: After the first batch of tests, it seems that TCP connectivity to the node ports exists between the two hosts.

What instructions did you follow to install the nodes? are you using guild-operators scripts or any other? How do you start the node?

If using systemd, could you provide the output of the following command for both nodes?

sudo systemctl -l --no-pager status cnode

Cheers, Josep

7
  • There's connectivity (you've got ping replies), there's no firewall, my ports are in LISTEN state and nc -zv host_2_ip host_2_port succeeded in both servers. "should start looking outside your hosts (i.e. a network firewall)" we should roceed with this Jul 27, 2022 at 19:36
  • What is the output of nc -zv? Why do you say it succeeds? if it does, you should see a message like "Connection to x.x.x.x x port [tcp/*] succeeded!". Please check in both directions. If it really succeeds, we should have a look at the nodes configuration. Jul 27, 2022 at 21:31
  • Yes, That exact message. I runned it in both directions. Jul 27, 2022 at 23:10
  • Great Alberto, please provide the output of "sudo systemctl -l --no-pager status cnode" for both nodes. Jul 28, 2022 at 15:40
  • I have truly no idea why, but its working now. I haven't changed anything. When I run "netstat -tpan" I see the connection between the nodes. I will leave it working for some days before doing anything, I'll let you know. Jul 28, 2022 at 19:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.