Is there any way to free up UDP port 53 on my GCE instance so that I can bind to it?
I'm running a container on GCE that needs to listen on UDP port 53, as it's listening for DNS connections. However, when I try to run my container and bind to UDP port 53, I get the following error message:
docker: Error response from daemon: driver failed programming external connectivity on endpoint (): Error starting userland proxy: listen udp 0.0.0.0:53: bind: address already in use.
Checking for open ports shows that 127.0.0.53
is connected on UDP port 53:
$ netstat -tuln | grep 53
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN
tcp6 0 0 :::5355 :::* LISTEN
udp 0 0 127.0.0.53:53 0.0.0.0:*
udp 0 0 0.0.0.0:5355 0.0.0.0:*
udp6 0 0 :::5355 :::*
Reading through the documentation, the only reference to something like this was zonal DNS, which can be disabled by setting the instance or project metadata VmDnsSetting=GlobalOnly
(article here). I did this, and the port binding is still there.