gpt4 book ai didi

linux - QEMU/KVM/libvirt macvtap VEPA 不工作 - ARP 请求未转发

转载 作者:太空宇宙 更新时间:2023-11-04 05:07:59 25 4
gpt4 key购买 nike

您好,在主机上的两个虚拟机之间以 VEPA 模式使用 macvtap 时,我一直在努力让 guest 网络正常工作。我花了几个小时(几天)谷歌搜索,但毫无乐趣。这个网络配置真的有效吗?

我使用 KVM Manager 创建了 vtap,方法是添加 NIC、选择网络源“macvtap”、源模式 VEPA、设备型号:virtio。

配置如下(mac地址):

vm3-62                                  vm2-62
---------- ------------
eth1: 172.15.62.105 eth1: 172.15.62.205
(52:54:00:08:9d:8b) (52::54:00:8a:b1:0f)
+ +
| |
\ /
\ host /
macvtap1 macvtap0
(52:54:00:08:9d:8b) (52:54:00:8a:b1:0f)
\ /
\ /
\ /
bond1.62
(98:03:9b:2d:91:a2)
|
bond1
|
NIC port 1 and 2 (active/passive config)

不确定上面的格式是否可以,如果上图没有格式化这里是jpeg

主机网卡连接到 cisco Nexus 9000,我已将其配置为反射中继 802.1Qbg。

在 vm2-62 上,当我尝试 ping 172.15.62.105 时,出现“目标主机无法访问”的情况。

当我在主机上使用 tcpdump 时,我可以看到来自 vm2-62 的 ARP 请求,寻找 172.15.62.105 (vm3-62) 的 MAC。我可以在 macvtap0、bond1.62 和 bond1 上看到该请求,但在 macvtap1 上看不到该请求。

如果我在 vm3-62 和 vm2-62 上手动添加 ARP 条目,则 ping 工作正常,因此我认为交换机上的反射中继配置正常。

看来要么交换机没有反弹 ARP 请求,要么我需要在 Linux 中执行某些操作来启用 bond1.62 将 ARP 请求转发到 macvtap1。

有什么想法吗? .

抱歉,显然这不是解决这些问题的正确论坛,但仅供引用,以防有人确实对此有见解,我想补充一点,我也尝试了这篇文章中的建议:

https://superuser.com/questions/944678/how-to-configure-macvtap-to-let-it-pass-multicast-packet-correctly/1501508#1501508

手动并在/etc/libvirt/hook/qemu 中手动设置“ip link set dev macvtap0 allmulticast on”,并使用 virsh 编辑将“interface type='direct' trustGuestRxFilters='yes'”添加到 vn 文件中。

谢谢

最佳答案

我通过将接口(interface)模式从 VEPA 更改为桥接来使我的工作正常。然后,当虚拟机启动时,您可以执行 virsh list 获取虚拟机的 id,然后只需使用

上下调整接口(interface)即可
virsh domif-setlink id  macvtap(number) up/down

关于linux - QEMU/KVM/libvirt macvtap VEPA 不工作 - ARP 请求未转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58817581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com