Why Your KVM Network Bridge Isn't Working

You're trying to get libvirt and KVM working on Red Hat Enterprise Linux 6 or CentOS 6, or maybe even Scientific Linux 6. But it's not going well.

You wanted your VMs to have full access to the network and you've discovered that virbr0 doesn't do that. Finally you stumbled upon the way to do it by Creating a Network Bridge using your primary interface. And yet, something just ain't right.

You've verified that bridge-utils is in fact present:

# rpm -q bridge-utils
bridge-utils-1.2-9.el6.x86_64

Telltale signs are this message during network startup:

Device bridge0 does not seem to be present, delaying initialization.

And the following entries in /var/log/messages:

/sys/devices/virtual/net/bridge0: couldn't determine device driver; ignoring...

and

ifcfg-rh: parsing /etc/sysconfig/network-scripts/ifcfg-bridge0 ...
NetworkManager[1802]: ifcfg-rh: error: Bridge connections are not yet supported

You've stared at your /etc/sysconfig/network-scripts/ifcfg-bridge0 file until your eyes hurt, yet nothing seems to be wrong:

DEVICE="bridge0"
TYPE="bridge"
BOOTPROTO="none"
ONBOOT="yes"
IPADDR="203.0.113.2"
NETMASK="255.255.255.0"
DELAY=0
GATEWAY="203.0.113.254"
DNS1="x.x.x.x"

I'm here to tell you: you forgot to capitalize the word Bridge in your TYPE entry.

DEVICE="bridge0"
TYPE="Bridge"
BOOTPROTO="none"
ONBOOT="yes"
IPADDR="203.0.113.2"
NETMASK="255.255.255.0"
DELAY=0
GATEWAY="203.0.113.254"
DNS1="x.x.x.x"

Have a nice day!

Topic: 

Comments

Wow, what a pain 1 letter causes! Thanks for the write up.

If "You've stared at your /etc/sysconfig/network-scripts/ifcfg-bridge0 file until your eyes hurt" and didn't notice your IP Address has 5 octets, you're going blind...

Fixed, thanks. That'll teach me to not follow RFC 5737.

Awwwww.... facepalm.

hahahahahaha............. damn!!!! i spent hours on this thing..... thanx man

Likely saved me hours in trying to figure this issue out if not for this post -- thanks!