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
interfacescolumn 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.