By: Cas Mollien Last modified on: 08 June 2010, 23:05h
Last week I finished my free IPv6 certification at ipv6.he.net and am now officially labelled an IPv6 Sage. I don't know exactly what that means, but I have had fun playing around with this technology.
I will update this article with the description of how to run a 6in4 tunnel on m0n0wall but am not in a hurry to do so, as there are already enough nice tutorials out there.
Some of my notes: I have been able to install my /48 and carve off 2 /64's for my internal segments at home. Subnetting is slightly different with IPv6 and it takes some getting used to, which is why I have not felt comfortable enough to write an article about it. With the help of an IPv6 subnet calculator, it was actually pretty easy.
Structure of an IPv6 address for dummies I had some trouble wrapping my head around the 'why' for the massive address blocks. While I still do not understand the full scope, I have found a way to make it easier to understand. If you understand IPv4, then here is a very simple and dumbed down analogy of the structure of an IPv6 address:
In IPv4, an address is 32 bit and numberic. This is 4 octets XXX.XXX.XXX.XXX
Most homes have an external IP address, such as 22.214.171.124 which is then NAT-ed to private IP addresses like 192.168.1.100
In IPv6, an address is 128 bit and hexadecimal. This is 8 hexadecimal strings XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX
Most homes will receive a full /64 network, giving a home 2^64 IPv6 addresses, which is the square size of the ENTIRE IPv4 address space. This way every device can get its own, routable IP address.
In all simplicity, the first 4 hex strings describe the /64 subnet which is routed to you while he last 4 hex strings are assigned to the devices individually. So - once again very simply put - in 'IPv4 terminology' your computers are now routable through a concatenation of your external and internal IP address: 126.96.36.199.192.168.1.100
Of course there is much more to it then that, but maybe this makes it more simple to start thinking about it.
Router Advertisements and automatic configuration While it is very possible to assign static IPv6 addresses, a benefit of IPv6 is automatic configuration. This is a feature that was not available in IPv4 and is especially handy in smaller networks. If you have a router that supports RA (Router Advertisements) and has them enabled, this router will broadcast the /64 prefix to its subnet. IPv6 clients that come online will automatically receive the prefix (the first 4 hex strings) and now only need to find their own address. This is simply done by using the MAC address of the network card and performing some minor math on it, to comply with the IPv6 addressing standard.
This way, an IPv6 host gets preconfigured and always configures itself with the same IP address, as opposed to DHCP. Mind you, that DHCPv6 is still an option, as is the option of configuring static IPv6 addresses.
Windows 7 Windows 7 has a bug in the implementation of IPv6, which causes some weird behaviour when running in an IPv6 environment. Some things seem to work, while others don't. I found an article describing a setting on the console, which rectifies this. From a CMD with administrative rights, enter the following command:
netsh interface ipv6 set global randomizeidentifiers=disabled
Apparently, leaving this setting enabled causes issues as it is not part of the RFC (which Microsoft helped to write) and can cause weird behaviour when connected to IPv6-compliant networking equipment - Cisco Catalysts are a known example.
Found this article useful? Please consider buying me a beer - or something else useful..