virbr#和vnet#有什么区别?


11

我在RHEL6上运行KVM,并在其中创建了多个虚拟机。ifconfig向主机系统命令行发出命令会显示virbr0,virbr1 ...和vnet0,vnet2 ...的列表,它们是来宾OS的IP地址吗?virbr#和vnet#有什么区别?

Answers:


21

这些是网络接口,而不是IP地址。网络接口上可以交换来自任何协议的数据包,包括IPv4或IPv6,在这种情况下,可以为它们提供一个或多个IP地址。

virbr是网桥接口。它们是虚拟的,因为没有与之关联的网络接口卡。它们的作用是像真实的网桥或交换机一样,即连接到它的接口(真实或其他)之间的交换数据包(在第2层),就像真实的以太网交换机一样。

您可以为该设备分配一个IP地址,这基本上为主机提供了该网桥连接到的子网上的IP地址。然后,它将使用连接到网桥的接口之一的MAC地址。

它们的名字开头vir并没有使它们与任何其他网桥接口有任何不同,只是它们是通过创建libvirt这些bridge接口来为接口保留该名称空间的

vnet接口是称为tap接口的其他类型的虚拟接口。它们被附加到一个进程(在本例中为qemu-kvm仿真器中运行的进程)。进程写入该接口的内容将显示为已由主机在该接口上接收,并且主机在该接口上传输的内容可​​供该进程读取。qemu通常将其用于来宾中的虚拟网络接口。

通常,vnet将a 添加到桥接接口,这意味着将VM插入交换机。


非常感谢您的回答!但是,如果virbr是网桥接口,并且由于网桥是第二层设备,那么它需要一个IP地址(每个virbr#接口后面都有IP地址)吗?
xczzhh 2012年

我已经更新了答案。想法是为主机提供该网络上的IP地址。
斯特凡Chazelas

再次感谢您的答复。我知道KVM创建的两个不同的来宾OS可以共享相同的内容virbr,但是如果我有连接到不同的第三个来宾OS virbr且这两个virbr位于不同的IP网络中,我该怎么办?可以互相交流吗?
xczzhh 2012年

与实际开关一样。某些机器,通常是主机,因为它在两个网络上都有IP地址,所以它将在两个网络之间路由。默认情况下可能会这样做,但是也许您需要更改主机上的防火墙配置。
斯特凡Chazelas

是的,我已经尝试过,但是问题是OS A可以ping OS B,但是OS B不能ping OSA。您知道可能是什么问题吗...?再次谢谢您:)
xczzhh 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.