Original explanation of libvirt and iptables etc
Daniel Berrange wrote this some time ago. It has since been rolled into various editions of official RH and Fedora documentation. I like to go back to this for reference though as it is very clear: http://www.redhat.com/archives/libvir-list/2010-June/msg00762.html
In addition, this ServerFault question about avoiding insert of REJECT rules upon restart of the host iptables is worth understanding. Two solutions are proferred, one of which is to use the newer firewalld and the other which is to use custom NAT networks (hence the relevance to the above Berrange overview).
Jamie Nguyen's Libvirtd networking handbook is a strongly recommneded resource here.












