Docker Community Forums

Share and learn in the Docker community.

Unable to grab incoming UDP steam?

Hello, this question might not be directly related to Docker, but i’d rather ask and have someone with a bit more of experience than i have give me their opinion, and perhaps asset me.

So, my setup is the following, im running docker over ubuntu 19.03.4, i have 2 containers, one running a tf2 game server exposing the ports 27015 UDP / TCP, and another container running a nginx sourcebans++ web panel to administrate the game server, i have it exposing the port 80 TCP.

And i have a docker network shared by both containers, so both of them are in the bridge network and in their own network.

My objective is the nginx container to read an inbound UDP stream that the gameserver container sends when a payload is sent to it, all of that through the internet using the bridge network and not the one they share.

Scenarios i’ve tested using netcat:

1st scenario:
nginx -> internet -> gameserver (using my domain name):
The stream received through netcat is empty, yet tcpdump shows the udp stream package arriving, also the stream arrived from the bridge’s gateway 172.17.0.1

2nd scenario:
nginx -> shared docker network -> gameserver (using the gameserver’s container name):
The stream received is the expected one, but wait, tcpdump doesn’t show anything?

So yeah, that’s basically it, i don’t know what’s happening, it works when i’m doing it through docker’s network, but tcp doesn’t show anything, yet when i’m doing through the internet, i don’t see any stream even tho i can clearly see the package arriving.

I’m not running any kind of firewall on my vps, and if i try doing it from my vps terminal or my home pc to see if it actually works from the internet, and it works.

Again, i don’t know if this is a docker issue, but still, if anyone has any advice on how to debug this, or anything, i’m open to ideas.

Best regards!