[libvirt] libvirt plans: dns support for IPv6?

Gene Czarcinski gene at czarc.net
Thu Sep 13 18:00:48 UTC 2012


I would like to know what the plans are for supporting dns for virtual 
guests with only IPv6.

My objective is to be able to reference a virtual guest for the host ... 
doing ssh, scp, etc.  such functions work just fine if you specify the 
ip-address but, after a while, those ip-addresses are difficult to 
remember ... afterall, that is why dns exists.

For IPv4, with a some patches to libvert implementing "--local=/virt/ 
--domain-needed" if "--domain virt" is specified, I am now able to ssh 
to guests by name.

The additions needed are to run the NetworkManager supporting 
"--conf-dir=/etc/NetworkManager/dnsmasq.d/" (or patch it like I did), 
and add a file specifying the dnsmasq on the virtual NIC.  For example, 
server=/virt/,192.168.122.1 will forward queries.

Alternatively, you can run yet another dnsmasq on the host which just 
passes queries to the dnsmasq and modify your upstream dns server to 
forward any queries for the virtual domains to the dnsmasq on the host.

IPv6 is another situation entirely.  And it may be even more important 
to have dns support because if IPv4 address are difficult to remember, 
IPv6 are practically impossible.

So, are there any plans for providing dns on the IPv6 virtual networks?

I can see a couple of solutions and each has pluses and minuses.

1. Do it the same way the it is done for IPv4.  The current version of 
dnsmasq (2.63) supports dhcp for IPv6 and, IIRC, has since 2.61. I 
realize that you need to continue support of libvirt on RHEL 6 and 
possibly others that are running an old version of dnsmasq, but isn't it 
time to move along?  While you can manually configure IPv6 interfaces so 
that you can add the definitions to a /etc/host file, this is not a good 
approach from my perspective.  The use of dnsmasq also allows 
specification of different domains for each virtual IPv6 network.

2. There is another approach and it would be useful for both dnsmasq and 
this approach be available.  That is, continue to use radvd and have the 
virtual guests autoconf the ip addresses.  Then use mDNS (avahi and 
nss-mdns) to support access by name.  This does not require doing 
anything about dnsmasq.  In fact, it is possible thatyou do not need it 
at all.  In addition, the plans for Fedora 18 are to make mDNS the 
default for Desktop installs [I am not sure what that means].  A big 
problem is that there is only a single domain which is ".local" by 
default.  An even bigger problem is that ssh (openssh) has an error if a 
mDNS name is specified.

I noticed that Daniel Berrange has put in a bugzilla request that 
dnsmasq be updated.

If someone is already coding up patches to add dhcp for IPv6 or will 
"real soon now", I will be happy to test it.  Otherwise, I could take a 
shot at coming up with the patches.

Gene




More information about the libvir-list mailing list