1

I have two erlang clients:

  • client@192.168.1.5
  • client@192.168.1.6

And one remote erlang server with global IP address “externalIP1”:

server@“externalIP1”

To connect the clients and the server by a two-way communication, I’m going to forward client machines through the second global IP address “externalIP2” on my router.

  1. Which ports do I have to forward for The clients?
  2. How to name erlang client nodes? After the forwarding actually they’ll be at one IP address for remote nodes!
  3. How to tell to the server something like “work with ports .., .., .., during communication with node X”?

Thanks in advance!

Daniel
  • 2,320
  • 1
  • 14
  • 27
Nick Saw
  • 457
  • 4
  • 15
  • 1
    Do the answers to [this question](https://stackoverflow.com/q/26474591/113848) help? – legoscia Feb 17 '20 at 09:43
  • 1
    Also consider whether you could use another protocol, e.g. something HTTP or protobuf based. Erlang distribution is meant to be used in a secure low-latency network, and using it elsewhere might lead to surprises. At a minimum, you'd want to [use TLS](https://www.erlang-solutions.com/blog/erlang-distribution-over-tls.html) if connecting over the Internet. – legoscia Feb 17 '20 at 10:11

1 Answers1

2

Port forwarding ? you mean NAT or SSH ?

I feel using SSH port forwarding is a way more easier to setup for erlang distribution . Please check the third answer in Run Erlang Observer with ssh port forwarding

Or else you alternatively try epmdless Erlang environment using Docker and this aviods making any addational network setup other than Docker's one

For it, Please check this

https://www.erlang-solutions.com/blog/erlang-and-elixir-distribution-without-epmd.html