Distributed nodes in different networks

Hi guys, I have a question
I’m trying connect two distributed nodes with differents networks, but in always return false
these was my attempts:
pc1: iex --name one@william --cookie secret_token
pc2: iex --name two@uriel --cookie secret_token

pc1: iex --name one@william --cookie banana --erl ‘-kernel inet_dist_listen_min 9500’ --erl ‘-kernel inet_dist_listen_max 9500’
pc2: iex --name two@uriel --cookie banana --erl ‘-kernel inet_dist_listen_min 9500’ --erl ‘-kernel inet_dist_listen_max 9500’

pc1: iex --name one@ --cookie secret_token
pc2: iex --name two@ --cookie secret_token

Does anyone have any idea?
maybe it’s necessary open some network port

Open port 4369, that’s erlang port mapper daemon (epmd) https://erlang.org/doc/man/epmd.html

You may also have to activate other, higher port ranges in the firewall depending on your service


1 Like

Note that the distributed Erlang protocol is really not designed for use over a WAN connection between the nodes, both in terms of its latency tolerances and mesh behavior and in terms of security considerations.


Right, to steal a joke from LYSE, distributed Erlang’s security protocol looks like this:

This space intentionally left blank


you can do erlang distribution over TLS, which is not horrible, if I understand correctly, but latency is still an issue.

1 Like

@shanesveller base on your note, what would be the recommendation for building geo-redundant (resilient) solutions?

What are it’s latency tolerances?

Take your pick of rpc technologies, Jsonapi, openapi/swagger, grpc… I’m playing around with some of my own protocols (one which extends genserver over the WAN and one which extends Phoenix pubsub over the WAN) but I can’t recommend them for other people to use in prod, yet.