How to List Network Bridge Members in Linux (virbr0, en0 Interface Check)


2 views

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:

  1. Verify interface exists (ip link show)
  2. Check NetworkManager didn't override settings
  3. 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.