The totd ('Trick Or Treat Daemon') DNS proxy
Totd is a small DNS proxy nameserver that supports IPv6 only hosts/networks
that communicate with the IPv4 world using some translation mechanism.
Examples of such translation mechanisms currently in use are:
- IPv6/IPv4 Network Address and Packet Translation (NAT-PT)
implemented e.g. by Cisco.
- Application level translators as the faithd implemented by
the KAME project.
See faithd(8) on BSD/Kame.
These translators translate map IPv4 to IPv6 connections and back in some
way. In order for an application to connect through such a translator to
the world beyond it needs to use fake or fabricated addresses that are
routed to this translator. These fake addresses don't exist in the DNS,
and most likely you would not want them to appear there either. Totd
fixes this problem for now (until more elegant solutions emerge?) by
translating DNS queries/responses for the faked addresses. totd constructs
these fake addresses based on a configured IPv6 translator prefix and
records it *does* find in DNS. Totd is merely a stateless DNS-proxy, not
a nameserver itself. Totd needs to be able to forward requests to a real
nameserver. In addition, totd has experimental support for reverse lookup of
6to4 addresses and for translation scoped address queries. See also, the
README file and man page that ships with totd.
Copyright (C) 1998 WIDE Project. All rights reserved.
Copyright (C) 1999,2000,2001,2002 University of Tromso. All rights reserved.
Copyright (C) 2002 Invenia Innovation AS. All rights reserved.
Vasaka Visoottiviseth made a nice figure of how to setup totd
(or this local cached copy).
Thanks to 6Net (EU project IST-2001-32603), http://www.6net.org/, for
partially funding totd development.
Thanks to Telenor FoU, Tromso for funding of and collaboration in
building our IPv6-only wireless MAN infrastructure.
Thanks to the Kame project (http://www.kame.net), and Itojun Hagino
in particular, for bugfixes and patches and the support for scoped
Thanks to Nathan Lutchansky for adding Linux support.
Thanks to Simon Leinen for making totd work on Solaris.
And finally, thanks to those that reported bugs or requested features.
Some other experimental things you could use totd for:
Totd can do some things that are more experimental. you can select at
compile time whether you want these or not. Totd supports re-writing of scoped
addresses in DNS responses and supports reverse namelookup for 6to4 names.
Contacting the author
This program was written by Feike W. Dillema. He can be contacted by
searching for his current email address and sending him email with
totd in the subject line.