I just got pTRTd and TOTd working on the local network. If you use the right nameserver, it’ll direct requests for all names to be translated to IPv6 addresses by TOTd. The names it returns are (by configuration) magically happening to be the ones that pTRTd will forward to the IPv4 host, meaning that a machine speaking only IPv6 can talk to the IPv4 internet:


aredridel@betelgeuse:~$ telnet google.com 80
Trying 1000::d8ef:3963...
Connected to google.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: google.com

HTTP/1.1 302 Found Location: http://www.google.com/ Set-Cookie: PREF=ID=5568f1724a0d5c4b:TM=1108068407:LM=1108068407:S=6Z7R1-PKbx73Xmu6; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com Content-Type: text/html Server: GWS/2.1 Content-Length: 152 Date: Thu, 10 Feb 2005 20:46:47 GMT

<HTML><HEAD><TITLE>302 Moved</TITLE></HEAD><BODY> <H1>302 Moved</H1> The document has moved <A HREF="http://www.google.com/">here</A>. </BODY></HTML>

Connection closed by foreign host.


Pretty cool, eh? Yes, on my network, 1000::d8ef:3963 is Google. It’s not a legal address, and my first attempt to use the site-local fec0:: address space failed: Linux does some weird shit to addresses like that. At least since IPv6 has so much address space, you don’t need to use site-local addresses except as the Right Thing for local translators and things like that. Oh, well. I just yoinked 1000::/64 since all legal IPv6 addresses currently live in 2000::/3 or 3ffe::/16.