Friday, November 30, 2012

How to get IPv6

There's 4 ways to get IPv6:

  • Native (duh)
    • Your ISP hands out native IPv6 addresses using dhcp6 or RA (router advertisement, some sort of auto-configure)
  • Using a tunnel broker
  • Using a 6to4 tunnel (see earlier post)
  • Using 6rd (if your ISP implemented this)


This looks and works a lot like 6to4. A router on your local network establishes a tunnel to a v4 router that has IPv6 and encapsulates the IPv6 traffic in v4 packets to this router. With 6to4, the prefix (2002::) and tunnel endpoint IP ( are always the same. With 6rd, these are owned (and thus maintained) by your ISP. You can't setup 6rd unless your ISP tells you the IPv6 prefix and the v4 endpoint address they use. A way to do this automatically is using the dhcp "option-212" response. To test this using isc-dhcp, add this to your dhclient.conf:
option option_6rd code 212 = { integer 8, integer 8, integer 16, integer 16, integer 16, integer 16, integer 16, integer 16, integer 16, integer 16, array of ip-address };
request option_6rd; # add the option_6rd to the list of other request options
If the ISP has a limited set of IPv4 addresses, with the same prefix, they can choose to use a longer (base) IPv6 prefix. In the first picture, the full IPv4 address is used to build the full IPv6 address:
Here the IPv6 ISP prefix is 2011:1001::, the IPv4 address from the customer is and to complete the IPv6 address, the MAC address of the customer (interface ID) is converted and added to this.
In the next picture, only part of the IPv4 address is used, so the ISPs IPv6 network used can be smaller:
Here the IPv6 ISP prefix is 2011:1001:01, the IPv4 address part used is 10.11.12 and the rest is the interface ID as in the previous example.

Images taken from:


Post a Comment

<< Home