6.4. Bridged Networking
Bridged networking (also known as network bridging or virtual network switching) is used to place virtual machine network interfaces on the same network as the physical interface. Bridges require minimal configuration and make a virtual machine appear on an existing network, which reduces management overhead and network complexity. As bridges contain few components and configuration variables, they provide a transparent setup which is straightforward to understand and troubleshoot, if required.
Bridging can be configured in a virtualized environment using standard Red Hat Enterprise Linux tools, virt-manager, or libvirt, and is described in the following sections.
However, even in a virtualized environment, bridges may be more easily created using the host operating system's networking tools. More information about this bridge creation method can be found in the Red Hat Enterprise Linux 7 Networking Guide.
6.4.1. Configuring Bridged Networking on a Red Hat Enterprise Linux 7 Host
Bridged networking can be configured for virtual machines on a Red Hat Enterprise Linux host, independent of the virtualization management tools. This configuration is mainly recommended when the virtualization bridge is the host's only network interface, or is the host's management network interface.
For instructions on configuring network bridging without using virtualization tools, see the Red Hat Enterprise Linux 7 Networking Guide.
6.4.2. Bridged Networking with Virtual Machine Manager
This section provides instructions on creating a bridge from a host machine's interface to a guest virtual machine using virt-manager.
Note
Depending on your environment, setting up a bridge with libvirt tools in Red Hat Enterprise Linux 7 may require disabling Network Manager, which is not recommended by Red Hat. A bridge created with libvirt also requires libvirtd to be running for the bridge to maintain network connectivity.
It is recommended to configure bridged networking on the physical Red Hat Enterprise Linux host as described in the Red Hat Enterprise Linux 7 Networking Guide, while using libvirt after bridge creation to add virtual machine interfaces to the bridges.
Procedure 6.1. Creating a bridge with virt-manager
- From the virt-manager main menu, click to open the Connection Details window.
- Click thetab.
- Click theat the bottom of the window to configure a new network interface.
- In thedrop-down menu, select , and then click to continue.
Figure 6.1. Adding a bridge
- In thefield, enter a name for the bridge, such as br0.
- Select afrom the drop-down menu. Choose from one of the following:
- none - deactivates the bridge
- onboot - activates the bridge on the next guest virtual machine reboot
- hotplug - activates the bridge even if the guest virtual machine is running
- Check thecheck box to activate the bridge immediately.
- To configure either theor , click the appropriate button. A separate window will open to specify the required settings. Make any necessary changes and click when done.
- Select the physical interface to connect to your virtual machines. If the interface is currently in use by another guest virtual machine, you will receive a warning message.
- Clickand the wizard closes, taking you back to the menu.
Figure 6.2. Adding a bridge
Select the bridge to use, and click
to exit the wizard.
To stop the interface, click the
key. Once the bridge is stopped, to delete the interface, click the key.
6.4.3. Bridged Networking with libvirt
Depending on your environment, setting up a bridge with libvirt in Red Hat Enterprise Linux 7 may require disabling Network Manager, which is not recommended by Red Hat. This also requires libvirtd to be running for the bridge to operate.
It is recommended to configure bridged networking on the physical Red Hat Enterprise Linux host as described in the Red Hat Enterprise Linux 7 Networking Guide.
Important
libvirt is now able to take advantage of new kernel tunable parameters to manage host bridge forwarding database (FDB) entries, thus potentially improving system network performance when bridging multiple virtual machines. Set the
macTableManager
attribute of a network's <bridge>
element to 'libvirt'
in the host's XML configuration file:
<bridge name='br0' macTableManager='libvirt'/>This will turn off learning (flood) mode on all bridge ports, and libvirt will add or remove entries to the FDB as necessary. Along with removing the overhead of learning the proper forwarding ports for MAC addresses, this also allows the kernel to disable promiscuous mode on the physical device that connects the bridge to the network, which further reduces overhead.