libvirt 网络的主要组件是虚拟网络交换机,也称为网桥。
我们可以将网桥想象成一个物理交换机。
在真正的交换机中,连接到服务器的物理端口数量有限。
在这里,在 Linux 网桥上,连接虚拟机接口的虚拟端口数量不受限制。
与物理交换机类似,网桥从它接收的数据包中学习 MAC 地址并将这些 MAC 地址存储在 MAC 表中。
数据包(帧)转发决策是根据它获知并存储在 MAC 表中的 MAC 地址做出的。
https://onitroad.com 更多教程
创建永久网桥
如果想创建一个永久的网桥,你可以在 /etc/sysconfig/network-scripts/ 中创建一个 ifcfg 文件:
# cat /etc/sysconfig/network-scripts/ifcfg-bridge0 DEVICE=bridge0 TYPE=Bridge ONBOOT=yes BOOTPROTO=static IPADDR=192.168.200.254 NETMASK=255.255.255.0
然后当网络服务重新启动时就会创建网桥。
# service network restart
请注意“TYPE=Bridge”行中的“B”必须为大写。
如果我们想在 KVM 环境中通过 virt-manager 查看网桥,请在 /etc/libvirt/qemu/networks/ 中为每个网桥创建 xml 文件。
例如,
# pwd /etc/libvirt/qemu/networks # cat bridge0.xml <network> <name>bridge0</name> <uuid>31ece935-71a7-952e-d656-f5fdf9ccdf6e</uuid> <bridge name='bridge00' stp='on' forwardDelay='0' /> <ip address='192.168.200.254' netmask='255.255.255.0'> </ip> </network>
然后重启libvirtd服务,重新执行virt-manager。
# service libvirtd restart
说明
请正确填写网桥元素名称。
我们可以使用 uuidgen 命令为设备生成 uuid:
# uuidgen
更多信息请参考:
man brctl /etc/init.d/network
临时创建网桥
如果要临时创建网桥,可以使用以下命令:
# brctl addbr BRIDGE_NAME
例如:
# brctl addbr mybridge
我们可以使用以下命令验证新创建的 beidge。
# brctl show bridge name bridge id STP enabled interfaces mybridge 8000.000000000000 no virbr0 8000.000000000000 yes xenbr0 8000.feffffffffff no peth0 vif0.0
日期:2020-09-17 00:10:49 来源:oir作者:oir