More times than I care to mention I find myself having to battle with libvirt taking over my iptables rules and starting its own instance of dnsmasq, which just ends up ruining my whole day. Libvirt is a great abstraction layer for virtualisation, and although its xml config format and command line interface are well documented, how it works under the hood is less so.