Busybox DNS server

Busybox  is a collection of Linux utilities used for embedded systems, like network routers, robots, video cameras and toasters. A DNS (domain name system) server looks up the IP address when given a domain name. E.g. the response from querying with ‘busybox.net’ will be  140.211. 167.224. This post is a short introduction to the Busybox DNS server.

The server is configured by a text file, default /etc/dnsd.conf. One line for each network node, name and IP address separated by space, e.g.:


box1 192.168.15.67
box2 192.168.15.68
master 192.168.15.67

As you see, a device can have several names. I use short names, but you can also use more traditional domain names like ‘mybox.local’, ‘third-floor.mybox.com’ etc.

The dnsd server is authoritative, so if a device tries to look up a name that doesn’t exist in this configuration file, the response will be a definitive ‘not found’. This is different from ordinary DNS servers which will forward requests to other servers if not found. This DNS server is therefore not useful when the Busybox-devices have access to external networks that provide DNS services. The usefulness of dnsd is restricted to isolated networks. And I think this is a useful function to have in an embedded device – only having to type a short name instead of all those numbers – that’s why I wrote the first version of dnsd more than ten years ago. A more detailed documentation can be found in the dnsd.c source file, you can browse the source files at the busybox repository.

0 Responses to “Busybox DNS server”


  • No Comments

Leave a Reply