
For years and years people have been talking about the eventual migration to IPv6 without anything really happening. Network Address Translation (NAT) is partially to blame for the continuing endurance of IPv4, but it is also the cause of significant segmentation of networks. This is to say, almost every connected household has one public IP address and then has all of the devices behind the NAT gateway with private IP addresses. The motivation to start using IPv6 is that it is easy to set up gateways so each device, across several physical networks, can have its own routable IP address.
The first step is getting IPv6 connectivity, which is typically done by choosing a “tunnel broker”, where you connect to the broker using IPv4 and then route all of the IPv6 traffic over a tunnel. The tunnel broker also has the option of giving you a subnet block of permanent IPv6 addresses, typically a /48 or /64 leading to 2^80 or 2^64 usable IP addresses. Although there are many, go6 (formerly Freenet6) is my favorite because of their unrestricted service and ease of use. They have a client application which can will do all of the tunnel configuration automatically. To configure your machine as a gateway and to get a /48 or /64 address block, the important things to set in the configuration file are host_type=router and prefixlen=64 or 48. Next, all you have to do is run the software and enjoy IPv6 connectivity.
The more complicated part is configuring DNS (forward and reverse) resolution for the new IPv6 addresses. First, a DNS server that can host IPv6 zones needs to be selected. You can run this yourself or you can use a free site like Xname (donation page) to host your zones. You can get a domain for cheap or you can just ask someone who already has one to delegate a sub-domain to you. Creating forward resolution is simple where you create an AAAA record instead of A record which can go in the same zone as your other IPv4 records. Zeros can be left out thereby making the address a little shorter. Ex:
routed.mobi. IN AAAA 2001:5c0:8c2f:2::4
The PTR zones are a bit more tricky. If your assigned prefix is 2001:5c0:8cf2:2/64, and you want to create a single zone for the whole block, then the zone must be called 2.0.0.0.2.f.c.8.0.c.5.0.1.0.0.2.ip6.arpa. Note the extra zeros after the 2 and 5, here all of the zeros must be written in. The PTR entries are standard where you put the remainder of the IP address on the left with all of the zeros, in reverse order, and separated by periods. Then you write IN PTR and then the fully qualified domain name followed by a final period. An example PTR zone is attached at the bottom.
Once these zones are created and are on the live server, the go6 client configuration can be edited and the dns_server=nx1.xname.org (if using Xname) can be added. This line needs to point to the DNS server that hosts the PTR records since the AAAA records will be found through normal methods. Now you have forward and reverse address resolution so you can start fully using those 2^64 or 2^48 IPs that you were just assigned.
$TTL 86400 ; Default TTL
2.0.0.0.f.2.c.8.0.c.5.0.1.0.0.2.ip6.arpa. IN SOA ns0.xname.org. nvc3.psu.edu. (
2007011001 ; serial
10800 ; Refresh period
3600 ; Retry interval
604800 ; Expire time
10800 ; Negative caching TTL
)
$ORIGIN 2.0.0.0.f.2.c.8.0.c.5.0.1.0.0.2.ip6.arpa.
IN NS ns0.xname.org.
IN NS ns1.xname.org.
4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR routed.mobi.
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ojii-san.routed.net.
3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR null.routed.net.
del.icio.us |
digg