libvirt and virt-manager are a blessing. They bring powerful, free, open source management to Xen- and KVM-based virtualization environments.
I’ve been using both for quite a while. Also, I’ve always prefered bridged networking support for my virtual machines over NAT. While NAT is non-disruptive and allows for isolation, I typically like to easily access services provided by my virtual machines, like SSH or NFSv4. Turns out that setting bridged networking support in libvirt
is very easy, as long as bridged interface is detected by libvirt
.
The simplest solution consists of creating a bridge interface that enslaves all the physical networks interfaces used to connect to the LAN or the Internet. For example, in Ubuntu, in order to enslave eth0
to a br0
bridge interface, while using DHCP for IPv4 address configuration, /etc/network/interfaces
needs to look like this:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet manual # The bridge auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0
Next time, when creating a new virtual machine, it will be possible to use bridged networking in addition to NAT-based networking. There is one caveat, at least in Ubuntu: libvirt
and virt-manager
by default connect to qemu:///user
instead of qemu:///system
. This is neither good nor bad by itself. qemu:///user
allows a non-privileged user to create and use virtual machines and the process of creating and destroying the virtual network interfaces used by the virtual machines is done within the context of the user running virt-manager
. Due to lack of root
privileges, virtual machines are limited to QEMU’s usermode networking support. In order to use advanced networking feautures like bridged networking, make sure you connect to qemu:///system
instead. That is typically achieved by running virt-manager
as root
(which is not necessarily nice). I tried playing with udev
and device ownership and permission masks but it all boils down to the inability of a non-privileged user to use brcrl
to enslave network interfaces to a bridge.
As the post says, the codes differ from area to area. NYC codes are most likely specific to NYC. However, regardless of the law, most theatres have their own rules prohibiting open flame in dressing rooms. The other problem is, all the theatre fires that lead to our current fire codes were caused in whole or in part by those that thought they were responsible adults, too.