Skip to content

Endless loop when performing a DNS resolve with a specified TURN server

When you launch onionmasq in a local chutney environment with a local coturn server, you can no longer use the local DNS server at 169.254.42.53 and fe80::53. Instead, both logs (onionmasq and coturn) get flooded endlessly with the same issue, that is the creation of a UDP tunnel at 169.254.42.53.

I suspect the issue is because of the following:

  1. A client sends a DNS request to 169.254.42.53 over onion0
  2. onion0 sees an incoming UDP packet and sends it to coturn
  3. coturn tries to send a datagram to 169.254.42.53
  4. Goto 1

A potential fix would be to identify packets with dst == 169.254.42.53 || dst == fe80::53 early on and do not proxy them/treat them as if no TURN server was specified.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information