Docker Swarm: Containers cannot reach other Containers via public IP
Hey everyone,
i have an issue that I've been dealing with for quite a while now.
My setup is a docker swarm with 3 nodes (.141,.142,.143), one is a manager with the public IP (.160)
I am using the included ingress network with ports to publish the services. Everything is local only, no access from outside.
I can access every service via the public ip (.160) which directs to the manager or any of the node IPs, so it works as desired.
In Addition, I have a swarm-ipvlan so some services can receive a virtual ip for direct access (e.g. Home Assistant)
Now for example let's look at MQTT which is running at :1883. I can access it from external devices (Shellys ..), from my Computer (MQTT Explorer), and so on.
I can however NOT access it from another container, like Home Assistant. When I enter .160:1883 I get "no route to host". When I use the direct swarm-ipvlan address, It connects. But that is not what I want since the swarm-ipvlan address can change AND I want it to be running via the public IP.
Any Idea what might be causing this?
Thanks!