rbldnsd should be started as root user, in order to be able to bind to privileged port 53. After binding to the specified port and (optionally) changing its root to a specified directory, daemon will change its userid to specified value. Here is how rbldnsd can be used:

rbldnsd [options] zonename:type:fname,fname...

There is no config file, rbldnsd accepts all configuration in command line. The same zonename may be repeated, to form zone contents from several datasets; ditto for a dataset, one dataset may be used for several zones (data will be loaded only once). See manual page included in tarball for details.

Zone File Format

Input format is very simple and far more suitable for such a task compared to one of full-featured bind. Rbldnsd may take input format of DJB's rbldns (i.e. file understood by rbldns-data program) as is, but it isn't limited to this format. Some examples of input format understood by rbldnsd:

: relay, see$ # The above is a default or implicit value which is used when no value given # for an entry. The '$' characters will be replaced by an IP address in # question. # The simplest case: single IP address, with default value. : $ is from a private IP range # Netblock - 256 IP addresses with their own A and TXT records 224/4 Reserved multicast address # Another netblock, with default A and explicit TXT values. 192.168 Dialup pool, see$ for explanations # IP numbers may be abbreviated, the above is the same as 10.10 :5:This network blocked due to massive spam issues # A value may be abbreviated as well - :5: is the same as : 10.10.5-129 :5:Those hosts are nasty # repeat last octet: inclusive ! # exclusion entry # The following examples are for name-based zones. :2:This domain is considered malicious # Entry for just the domain itself * :2:All subdomains of are considered malicious # Wildcarded entry, will return A record for all subdomains as well # Some special features $SOA 3000 0 600 300 86400 300 # Start of authority record (TTL 3000), with serial (0) computed as # a timestamp of data file $NS 3000 # Two nameservers

There are other zone formats available, including generic simplified bind-style format.