dnsfunnel
Software
skarnet.org

The dnsfunnel-daemon program

dnsfunnel-daemon binds to a local UDP socket, drops its privileges, then executes into dnsfunneld. It is the high-level entry point to invoke in scripts that want to launch dnsfunneld.

Interface

     dnsfunnel-daemon [ -v verbosity ] [ -d notif ] [ -U | -u uid -g gid ] [ -i ip:port ] [ -R root ] [ -b bufsize ] [ -f cachelist ] [ -T | -t ] [ -N | -n ]

The point of dnsfunnel-daemon is to separate the administrative operations of starting a daemon from the actual serving part, which is handled by dnsfunneld.

Exit codes

Options

The other options control the activation or deactivation of various dnsfunneld features:

  • -T : Do not activate truncation of responses. This is the default.
  • -t : If a DNS response is bigger than 510 bytes, truncate its last resource records until it fits into 510 bytes and can be sent in a UDP packet.
  • -N : Do not activate nxdomain workaround. This is the default.
  • -n : Activate nxdomain workaround. When receiving an A (resp. AAAA) query to forward, also make an AAAA (resp. A) query, and adjust the response accordingly. Some DNS servers incorrectly answer NXDOMAIN when they should just answer NODATA, and querying for another, existing, record type for the same domain allows dnsfunneld to tell the difference between a real NXDOMAIN (in which case that response is forwarded to the client) and an incorrect one (in which case NODATA is answered to the client instead).
  • Other options may be added in the future.