如何在 qemu 中创建 LAN 段

如何在 qemu 中创建 LAN 段

我可以使用 VMware 工作站中的 LAN 段功能直接成功连接两个不同的虚拟机端口。有没有办法在 qemu 上执行相同操作?

到目前为止,我已经创建了两个 qemu 虚拟机,我想要直接连接的两个接口位于桥接设备上。因此,我能够从每个虚拟机 ping 这两个接口。但问题是,两个虚拟机之间有一个第 2 层交换机(桥接),它不会广播从一个端口到另一个端口的所有内容,比如 LLDP 信息。

我正在使用 Arista EOS vms 模拟 Arista 交换机网络。有人能告诉我如何连接这两个 vms,就像它们是直接连接的一样吗?

我使用 Open vSwitch 作为集线器,并将虚拟机所需的两个分接接口连接到该集线器上。目前我遇到的唯一问题是集线器正在丢弃 LLDP 数据包,我在使用的交换机控制器中可以清楚地看到这一点。很可能是由于 IGMP 监听(虽然不确定,也不太了解)。

提前致谢。

答案1

您可以使用-net socket参数 to qemu(或kvm)直接使用 TCP 或 UDP 连接来连接 QEMU 实例(而不是使用-net tap)。从qemu 手册页

 # launch a first QEMU instance
 qemu linux.img -net nic,macaddr=52:54:00:12:34:56  -net socket,listen=:1234
 # connect the VLAN 0 of this instance to the VLAN 0 of the first instance
 qemu linux.img -net nic,macaddr=52:54:00:12:34:57  -net socket,connect=127.0.0.1:1234

答案2

您可以使用 VLAN 来分离流量。只需获取网卡,将两个不同的 VLAN 标记附加到它,然后将虚拟机桥放在标记的接口上。​​这不仅会将虚拟机放在两个不同的 VLAN 上,还会将它们放在两个不同的桥上

相关内容