« Previous 1 2
Autoconfiguring IPv6 Clients
Linux
The Linux kernel has spoken IPv6 for some time now, at least in terms of the address configuration. It also takes the value of the autonomous flags into account, but that’s more or less where the buck stops. Linux introduced support for the RDNSS flag in 2.6.24, but you need a userspace daemon that parses the name server from the advertisements and writes the information to the /etc/resolv.conf file. The Netlink interface is used for this. In kernel versions prior to 2.6.24, the service itself tries to sniff and parse the advertisements. The daemon is called rdnssd and comes with the Ndisc6 package, which includes other useful tools.
DHCPv6 clients for Linux are available, for example, from the Internet Software Consortium (ISC), which also provides the popular DHCP Server, or in the dhcpv6 package, which also includes a server. The packages have limited support (the ISC version is more complete) that let you retrieve an address as well as options such as the name server or NTP server.
Compared with Windows 7, the problem is that you need to know whether DHCPv6 is in use when configuring a client. There is no daemon that parses the advertisement’s Managed option and then launches – or doesn’t launch – the DHCP client process. Open source programmers have a chance to make a name for themselves here.
Despite this, if you use DHCPv6, Linux will parse the advertisements to learn both routes and other configuration parameters, and the client will work on the network. If you only want the clients to use DHCP to discover the name server, advertisements with the RDNSS flag are all you need.
Mac OSX 10.6 Snow Leopard
Apple was the biggest disappointment in my lab, especially considering the fact that the latest operating system versions and applications like Mail and Safari have supported IPv6 for some years. Apple also uses IPv6 with link-local addresses (prefix fe80 ) to find services with its Bonjour protocol. Even an iPhone 3G, provided with router advertisements in our WLAN test, sent a DHCPv6 request and asked for the name server.
However, a Snow Leopard client only evaluates the flags in the router advertisements; support for RDNSS is missing.
If the Managed flag is set, there is no DHVPv6 client that retrieves the required data. You can use the system settings in the network area IPv6 addresses to manually enter the name server (Figure 2). However, this approach is not recommended for large-scale networks.
While I was working on this article, Apple’s Version 10.7 “Lion” was released. This version now has a DHCPv6 client, and the autoconfiguration is standards-compliant and functional according to various reports in network forums.
Conclusions
The results in my lab weren’t really convincing, as some manual attention is still needed. You can get it to work, but it will mean investing more time than overworked administrators can afford.
I tried my luck with Linux (Gentoo), Windows 7 Ultimate, and Mac OS X Snow Leopard. To sum up briefly, none of these systems worked as it should have out of the box.
The Author
Konstantin Agouros works for n.runs AG as a consultant for network security. He focuses on telecommunications providers. He also published a book, DNS/DHCP, with Open Source Press.
« Previous 1 2