When working with KVM virtualization on Fedora/CentOS systems, you'll notice the automatic creation of virbr0
bridge. The common question arises - how to verify which physical or virtual interfaces are actually bridged to it?
The brctl
command (from bridge-utils package) provides direct insight:
# Install bridge-utils if missing
sudo yum install bridge-utils # CentOS/RHEL
sudo dnf install bridge-utils # Fedora
# Show bridge information
brctl show
Sample output for a KVM setup:
bridge name bridge id STP enabled interfaces
virbr0 8000.525400123456 yes virbr0-nic
This reveals virbr0-nic
as the attached interface, while physical interfaces like en0
would appear here if bridged.
For newer systems using iproute2:
ip link show master virbr0
bridge link show
# Add eth1 to virbr0
sudo brctl addif virbr0 eth1
# Verify addition
brctl show virbr0
If your expected interface doesn't appear:
- Verify interface exists (
ip link show
) - Check NetworkManager didn't override settings
- Confirm no conflicting bridge configurations
For permanent changes, edit network scripts:
# CentOS 7 example
/etc/sysconfig/network-scripts/ifcfg-eth1:
BRIDGE=virbr0
When working with virtualization technologies like KVM on Fedora or CentOS, you'll encounter network bridges like
virbr0
. These bridges act as virtual switches connecting virtual machines to physical network interfaces.The primary command to inspect bridge configuration is
brctl
(bridge control):
# Install bridge-utils if needed (older systems)
sudo yum install bridge-utils# Show all bridges and their members
brctl show
On newer systems using
iproute2
, you can use:
# List all bridge devices
ip link show type bridge# Show specific bridge details
bridge link show dev virbr0
When examining KVM's default bridge (
virbr0
), you might see:
$ brctl show virbr0
bridge name bridge id STP enabled interfaces
virbr0 8000.525400123456 yes virbr0-nic
The
interfaces
column shows all attached members. Common scenarios include:
- Physical interfaces (eth0, enp3s0)
- Virtual interfaces (vnet0, tap0)
- Bridge internal interfaces (virbr0-nic)
If your physical interface (en0
) isn't showing in bridge members:
# Check current bridge assignment
ip addr show dev en0
# Verify routing table
ip route show
To manually add an interface to a bridge:
# Bring interface down first
sudo ip link set en0 down
# Remove existing IP configuration
sudo ip addr flush dev en0
# Add to bridge
sudo brctl addif virbr0 en0
# Bring interface back up
sudo ip link set en0 up
For CentOS/Fedora, edit network scripts:
# /etc/sysconfig/network-scripts/ifcfg-en0
DEVICE=en0
ONBOOT=yes
BRIDGE=virbr0
Remember to restart networking services after configuration changes.