Name resolution in an IPv6 network without a DNS server

domain-name-systemipv6wins

Background:

  1. I have a network with Windows and Linux machines
  2. The router doesn't support IPv6, but the computers have link-local addresses (fe80::/10), and I plan to buy an IPv6-capable router in the future
  3. I'm currently learning about IPv6 and experimenting with it, so there is no immediate problem to solve (since IPv4 works), but I want to learn about it now so it doesn't bite me later
  4. I do not want to run a DNS server (for various reasons, such as not having a machine running 100% of the time, and not wanting to use static addresses)
  5. IPv4 name resolution works using NBNS/WINS broadcast (natively on windows machines and using Samba/nmblookup on Linux machines).
  6. If, for some reason, name resolution doesn't work, I can always resort to IPv4 literals, as I can easily memorize the last byte of a 192.168.1.0/24 address.

Now, the problem is that NBNS/WINS doesn't work with IPv6, so there is no name resolution. I can ping literal IPv6 addresses (after back-and-forth read/type cycles and lots of eye-squinting to find a single digit error…), but that's about it. I cannot do any name resolution. And unlike with IPv4, literal IPv6 addresses are not practical to use.

tl;dr: What's the equivalent of NBNS/WINS broadcast for ad-hoc name resolution on IPv6 networks?

Best Answer

You can use multicast DNS, which will provide you with .local domain names. This is implemented on Mac OS X, on Linux using Avahi, and on Windows using the Bonjour Print Services.

If you have a pure Windows Vista or 7 environment, you might be better off using Link-Local Multicast Name Resolution. You will need to make sure you enable the Network Discovery service; it is pretty poorly documented as far as I can see.