rbldns - an IP-address-listing DNS server
rbldns is an IP-address-listing DNS server. It accepts iterative DNS
queries from hosts around the Internet asking about various IP
addresses. It provides responses showing whether the addresses are on
a locally configured list, such as RBL or DUL.
Normally rbldns is set up by the rbldns-conf program.
rbldns runs chrooted in the directory specified by the $ROOT
environment variable, under the uid and gid specified by the $UID and
$GID environment variables.
rbldns listens for incoming UDP packets addressed to port 53 of $IP.
It does not listen for TCP queries. Specifying 0.0.0.0 or :: results
in listing to all available IP addresses and interfaces (for IPv6)
resectivey. In case $IP is specified as the pseudo IP address :0 rbldns
is forced to bind to all available IPv4 and IPv6 addresses
rbldns handles IPv4 domains of the form d.c.b.a.base where a.b.c.d is
the IPv4 address in question and base is given by the $BASE environment
rbldns handles IPv6 domains of the form z.y.x...d.c.b.a.base where
z.y.x...d.c.b.a.base is the IPv6 address in question and base is given
by the $BASE environment variable. While particular host addresses can
be given, only the relevant 64 routing bits can be specified.
rbldns rejects inverse queries, non-Internet-class queries, truncated
packets, packets that contain anything other than a single query, query
types other than A, TXT, or *, and queries for domains outside $BASE.
It looks up other queries inside data.cdb, a binary file created by
Man(1) output converted with