I'm running a node on a server which is hidden behind a firewall - thus it can't be reached directly from the outside. However, I would like other nodes in the network to be able to establish connections to my node.

I used ngrok to open a TCP tunnel on the respective port and with this obtained a public address which forwards all incoming traffic to the node, e.g.
tcp://2.tcp.ngrok.io:12345 -> localhost:9732
I managed to publish this address to the network by starting a secondary node and connecting explicity to the primary node using the --peer parameter (or tezos-admin-client connect address). After that, I could see a slow but steady increase of active connections in my node. So far, so good!

But since this is rather inconvenient, I would like to know if there is a more direct way to make the network, or even the node itself, aware of this address?

1 Answer 1


Indeed there is currently no mechanism to publish an IP different from the one you use to reach other nodes.

If you want to have your machine connected through a tunnel via a public machine, you need to make your outgoing connections go through the same public machine so that the exposed IP given to the node you connect to is the one of the public machine.

You also need to locally use the same port as the one opened on the public machine.

From what I read on the ngrok website, their service is not suited for this use.

Your Answer

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

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