Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

A.19.6. 无法添加网桥 br0 端口 vnet0:没有这样的设备

症状
此时会出现以下出错信息:
Unable to add bridge name_of_bridge port vnet0: No such device
例如,如果网桥名称是 br0,则错误消息会显示如下:
Unable to add bridge br0 port vnet0: No such device
libvirt 版本 0.9.6 及更早版本中,会出现相同的错误:
Failed to add tap interface to bridge name_of_bridge: No such device
或者,如果网桥命名为 br0
Failed to add tap interface to bridge 'br0': No such device
正在调查
两个错误消息都显示客户机(或域) <interface> 定义中指定的网桥设备不存在。
要验证错误消息中列出的网桥设备没有被存在,请使用 ip addr show br0
这条消息通过该名称确认主机没有网桥:
br0: error fetching interface information: Device not found
如果是这样,请继续解决方案。
但是,如果生成的信息类似如下,这个问题会在其他位置存在:
br0        Link encap:Ethernet  HWaddr 00:00:5A:11:70:48
           inet addr:10.22.1.5  Bcast:10.255.255.255  Mask:255.0.0.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:249841 errors:0 dropped:0 overruns:0 frame:0
           TX packets:281948 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
	   RX bytes:106327234 (101.4 MiB)  TX bytes:21182634 (20.2 MiB)
解决方案
编辑现有网桥或使用 virsh创建新桥接
使用 virsh 编辑现有网桥或网络的设置,或者将网桥设备添加到主机系统配置中。
使用 virsh编辑现有网桥设置
使用 virsh edit name_of_guest<interface> 定义更改为使用已存在的桥接或网络。
例如,将 type='bridge' 改为 type='network'<source bridge='br0'/> 改为 <source network='default'/>
使用 virsh创建主机桥接
对于 libvirt 版本 0.9.8 及更高版本,可使用 virsh iface-bridge 命令创建网桥设备。这会创建一个使用 eth0 的桥接设备 br0,它是作为附加桥接的一部分设置的物理网络接口:
virsh iface-bridge eth0 br0
可选:如果需要,请删除此网桥,并使用这个命令恢复原始 eth0 配置:
virsh iface-unbridge br0
手动创建主机桥接
对于较旧版本的 libvirt,可以在主机上手动创建网桥设备。具体说明请查看 第 6.4.3 节 “使用 libvirt 进行桥接网络”