William's random thoughts

General thoughts related to my various projects

Sat, 18 Feb 2012

Quick update on my last blog post.

I just got done adding some minor changes to the last post on setting up IPv6 onm your LAN.

I also discovered today that using multicast DNS to look up link-local IPv6 addresses is broken on Linux because libnss-mdns does not implement the correct NSS callbacks needed to give a scope ID back for a link local IPv6 address.

See: http://www.avahi.org/ticket/174 and http://ensiwiki.ensimag.fr/index.php/Fixing_nss-mdns_for_IPv6_linklocal_scoped_addresses for details.

In the mean time I would recommend setting up radvd to set up a unique local address prefix, even if you don't connect out to the IPv6 internet. It's not a big deal since nearly everyone (including myself) uses IPv4 on their lan anyway but if you are testing a V6 only LAN and want it to be fully zero-conf capable this is a bit of a problem.

I've looked at glibc and the two URLs up above and I might see about making a patch for libnss-mdns and sending it in to the libnss-mdns maintainers. I don't know when I will have time for this though. This already works on MacOS X and FreeBSD (at least as far as I could find out researching this problem)

One of the edits I made to my origanal post is changing radvd.conf to advertise the unique local address prefix with an infinite lifetime. This will have the effect of causing (at least as far as I've been able to test on linux anyway) The ULA address to be the primary address on each computer's interface, and also ensuring that the ULA will never expire even if the v6 router goes down. This should cause all zeroconf .local addresses to resolve to the ULA address and keep the ULA addresses more reliable than the global prefix. (which will expire and dissapear off the interfaces after it hasn't been advertised in a while)

[/debian/ipv6] permanent link RSS feed