arnout.engelen.eu

Using an IPv6-only internal network in a real-world environment

Note that this is a very outdated page. Have fun.

Introduction

IPv6 is fun to play with, a challenge to use, the future, plain cool, et cetera. But all that isn't enough to let the real-world transition from IPv4 to IPv6 go smoothly. I expect that at some point in time, there will be ISPs providing ipv6-only access. Before that will be possible, a few problems will have to be tackled. I thought it'd be fun to experiment a bit with all this, and so I decided to set myself the following challenge: to make my own internal network IPv6-only, yet without sacrificing too much functionality.

Current setup

I currently own 2 computers, a server called 'mintzer' and a client laptop called 'setzer' (after Bob Mintzer and Brian Setzer). Read more...

Problems, and how they might be solved

1. Not all servers which are available on the IPv4 Internet have IPv6-connectivity

Step 1: allowing an IPv6-aware client application to talk to an IPv4-only host through IPv6 packets Achieved!

Schematic:
IPv6-aware app ->
IPv6
F: 3ffe:8114:2000:1160:200:e8ff:fe3a:35e4
T: fec0:0:0:ffff::216.239.39.101
-> mintzer ->
IPv4
F: 195.169.216.157
T: 216.239.39.101
-> 216.239.39.101
We will try to allow a IPv6-aware program, such as lynx, on the internal network to talk to an IPv4-only machine on the internet, such as http://www.google.com. I got this running pretty well using pTRTd. This means a packet to fec0:0:0:ffff::216.239.39.101, for example, would be forwarded by mintzer to 216.239.39.101. Read more...

Step 2: Returning the local AAAA-record when a host only has an A-record Achieved!

Schematic:
IPv6-aware application ->
google.com/AAAA?
-> totd ->
google.com/AAAA?
-> DNS-server
totd <-
ANSWER: 0
<- DNS-server
totd ->
google.com/A?
-> DNS-server
IPv6-aware application <-
google.com. IN AAAA fec0::ffff:0:0:d8ef:2364
google.com. IN AAAA fec0::ffff:0:0:d8ef:3364
<- totd <-
google.com. IN A 216.239.35.100
google.com. IN A 216.239.51.100
<- DNS-server
When I type 'www.google.com' in my browser, for which there is no AAAA-record, I want my dns to return not only 216.239.39.101 but also fec0:0:0:ffff::216.239.39.101. Read more...

2. Not all client applications are ipv6-aware

Since it would be quite naive to think every single network-application will support IPv6 any time soon, we need some way to allow ipv4-only applications on setzer to talk to IPv4-hosts on the internet (It is obvious that ipv4-only applications will probably not be able to talk to ipv6-only hosts, though we might be able to do some dns tricks). Read more...

This leaves the problem of contacting ipv6-only nodes from the ipv4-only world open, I'm not currently planning to go into this.