Ubuntu KVM 网络

Ubuntu KVM 网络

我有两个虚拟机(基于 Linux 的虚拟机)在 UBUNTU/QEMU KVM 上运行。我正在研究一个简单的网络模型,其中虚拟机具有公共地址并需要与外界通信,外界也应该能够与虚拟机通信。我这样做了

  • 创建了 ABCD/16(B 类地址)的网桥
  • eth2 是桥接器的一部分,具有 ABCE /32 主机地址
  • VM 的接口(通过 TAP)具有 ABCF / 16 地址

eth2 和 VM 接口都是桥接器的一部分。但是现在,我无法从外部 ping 这些地址。如果我从桥接器中移除 eth2,我就可以 ping eth2。

请告诉我发生了什么事。

客人

答案1

您需要一些东西来告诉外界将 AB/16 路由到您的网桥,这涉及某种路由器,可能还有某种虚拟路由器。

我不确定学习这种路由是否是您的目标,或者仅仅让虚拟机桥接是您的目标。

如果您只想桥接虚拟机,那么将它们桥接到与主机相同的网络上。

例如

$ sudo brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.001fd085d98b       no              eth0
                                                        eth2
                                                        tap0

tap0 已添加到我的 br0 桥。eth0 和 eth2 是我的 VM 主机中的物理网卡。

现在,当我启动 KVM 时,我告诉它使用 tap,它将使用 tap0。

sudo kvm -m 1024 -smp 2 ... -net tap ...

它将位于“我的 LAN 上”。这是我能建议的最简单的方法。

相关内容