如何在 KVM 和 VirtualBox 之间路由网络流量?

如何在 KVM 和 VirtualBox 之间路由网络流量?

有没有一种简单的方法可以在两个虚拟机之间路由网络流量,一个在 virtualbox 中,另一个在 KVM/libvirt 中?

在 KVM World 中,我可以看到virbr接口(虚拟桥?)并且它们已分配 IP:

virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether fe:32:01:44:a9:c5 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever

但 Virtualbox 接口没有分配 IP

vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff

虚拟机的 IP:

  • KVM_虚拟机: 192.168.122.101
  • VBox_虚拟机: 192.168.56.101

您认为有哪些选择?

答案1

是的,virbr接口在 KVM 术语中是桥梁。如果您不知道,您可以使用实用程序查看有关桥梁的详细信息brctl(例如# brctl show vibr0:)

我看到的第一件事是vboxet0处于该DOWN状态,因此您可能只需要为其分配一个 IP 并将其带上UP。 如果vboxet0(我不太了解 Virtualbox)是桥接接口,请确保应该位于该桥接网络上的 VM 是该桥接的成员。

此外,假设 192.168.122.101 和 192.168.56.101 的网络掩码均为 /24,那么您将需要在其中某处安装一个路由器,该路由器的一个接口位于 192.168.122.0/24 网络中,另一个接口位于 192.168.56.0/24 网络中。然后,您可以通过路由器设置到任一网络的静态路由,或者将路由器设为每个子网的默认网关。

您可能能够使用虚拟机管理程序上的一些 DNAT 诡计来实现相同的目的,但使用桥接器就没有什么意义了。我只需为虚拟机分配一个 NAT 接口,让虚拟机管理程序处理其余的事情。

相关内容