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) respectively. In case $IP is specified as the pseudo IP address :0, rbldns is forced to bind to all available IPv4 and IPv6 addresses simultaneously.
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 variable.
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 rbldns-data.