Docker Swarm behind NAT Routing


I try to build a hybrid swarm behind a NAT routed network, so the public ip is not bound to my network interface. When i init a swarm i have to set the advertise-adress to a local. My worker that should join is hostet at aws. Now i can give my external ip adress in the join command, so the Worker can join. That works fine until it wants to join. The message i get from docker log is:

Sep 26 09:07:52 amazon-mars dockerd[4778]: time="2017-09-26T09:07:52.348364123Z" level=error msg="Failed to join memberlist [] on retry: 1 error(s) occurred:\n\n* Failed to join dial tcp i/o timeout"

is there a way to set this to an external ip adress?

I am trying to do the same thing, and am looking into a solution. Would love to hear from you if you figured something out.