dnsmasq on virbr0 (libvirt) and network manager

Solution 1:

By default, libvirt starts a dnsmasq instance for each of its' virtual interface bridges. This is done to provide DHCP service to VM's running in a virtual network.

http://wiki.libvirt.org/page/VirtualNetworking

Essentially, the virbr bridge is created by libvirt every time you spin up a VM using the default settings. If you want to prevent this from happenning, you need to create the bridge yourself before starting up a VM and then start it up in "bridge" mode, speciying your custom bridge as the argument. Here is a man page that explains it pretty well. Look under the --network option:

https://www-01.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatvirtinstalloptions.htm

Every time you create a "virtual network" in libvirt, it also starts an instance of dnsmasq for it. So, again, you have to stop using libvrt's virtual networks and go manual.

Solution 2:

If you want your local /etc/hosts changes to propagate to your VMs using the same interface you can simply SIGHUP the local libvirt process.