# Connect node from internal network to external through dynamic dns

**URL:** <https://discuss.elastic.co/t/connect-node-from-internal-network-to-external-through-dynamic-dns/196073>\
**Category:** Elasticsearch\
**Created:** [August 21, 2019, 9:03am UTC](https://discuss.elastic.co/t/connect-node-from-internal-network-to-external-through-dynamic-dns/196073 "2019-08-21T09:03:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![heilwood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/heilwood/32/58023_2.png) [@heilwood](https://discuss.elastic.co/u/heilwood)\
**Post date:** [August 21, 2019, 9:03am UTC](https://discuss.elastic.co/t/connect-node-from-internal-network-to-external-through-dynamic-dns/196073/1 "2019-08-21T09:03:17Z")

</div>

Is it possible to connect nodes from internal network with node from external network through dynamic dns.

internal ip address:  
node1 - 192.168.1.1  
node2 - 192.168.2.2  
public dns:  
[mypublic.ddns.net](http://mypublic.ddns.net)

Public dns resolves my public ip which is: 62.33.22.11  
On my router configured port forwarding:  
62.33.22.11:9301 -\> 192.168.1.1:9301 (node1)  
62.33.22.11:9302 -\> 192.168.1.2:9302 (node2)

Node3 is external VPS and have public ip 88.77.55.44

My current config:

```
cluster.name: myclust
node.name: node-1
transport.host: 192.168.1.1
transport.port: 9301
network.host: 0.0.0.0
http.port: 9211
network.bind_host: 0.0.0.0
node.master: true
node.data: true
discovery.seed_hosts: ["mypublic.ddns.net:9301", "mypublic.ddns.net:9302", "88.77.55.44:9303"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

cluster.name: myclust
node.name: node-2
transport.host: 192.168.1.2
transport.port: 9302
network.host: 0.0.0.0
http.port: 9222
network.bind_host: 0.0.0.0
node.master: true
node.data: true
discovery.seed_hosts: ["mypublic.ddns.net:9301", "mypublic.ddns.net:9302", "88.77.55.44:9303"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

cluster.name: myclust
node.name: node-3
transport.host: 88.77.55.44
transport.port: 9302
network.host: 0.0.0.0
http.port: 9200
network.bind_host: 0.0.0.0
node.master: true
node.data: true
discovery.seed_hosts: ["mypublic.ddns.net:9301", "mypublic.ddns.net:9302", "88.77.55.44:9303"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

```

Node1 and Node2 are joined with no problem which was in internal network, but on external Node3 i see in logs

```
 master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [node-1, node-2, node-3]

```

If i using cluster.initial\_master\_nodes for all nodes like this:

> cluster.initial\_master\_nodes: ["[mypublic.ddns.net:9301](http://mypublic.ddns.net:9301)", "[mypublic.ddns.net:9302](http://mypublic.ddns.net:9302)", "88.77.55.44:9303"]

I'm receiving on node3 such error:

> ```
> org.elasticsearch.transport.NodeNotConnectedException: [node-2][192.168.139.128:9302] Node not connected
> at org.elasticsearch.transport.ConnectionManager.getConnection(ConnectionManager.java:151) ~[elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.transport.TransportService.getConnection(TransportService.java:568) ~[elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.transport.TransportService.sendRequest(TransportService.java:540) ~[elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.cluster.coordination.JoinHelper.sendJoinRequest(JoinHelper.java:279) ~[elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.cluster.coordination.JoinHelper.sendJoinRequest(JoinHelper.java:212) ~[elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.cluster.coordination.JoinHelper.lambda$new$2(JoinHelper.java:136) ~[elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.transport.RequestHandlerRegistry.processMessageReceived(RequestHandlerRegistry.java:63) ~[elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.transport.InboundHandler$RequestHandler.doRun(InboundHandler.java:267) ~[elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:758) [elasticsearch-7.3.0.jar:7.3.0]
> at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.3.0.jar:7.3.0]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
> at java.lang.Thread.run(Thread.java:835) [?:?]
> 
> ```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [September 18, 2019, 9:09am UTC](https://discuss.elastic.co/t/connect-node-from-internal-network-to-external-through-dynamic-dns/196073/2 "2019-09-18T09:09:21Z")

</div>

Closed on September 18, 2019, 9:09am UTC

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
