QEMU / KVM / libvirt macvtap VEPA不起作用-ARP请求未转发

问题描述 投票:-1回答:1

您好,当在主机上的两个VM之间以VEPA模式使用macvtap时,我一直在努力使来宾网络正常工作。我花了好几个小时(几天)无聊地进行谷歌搜索。此网络配置是否有效?

[我使用KVM管理器通过添加NIC,选择网络源“ macvtap”,源模式VEPA,设备型号:virtio,创建了vtap。

配置看起来像这样(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

主机NIC已连接到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链接,将dev macvtap0 allmulticast设置为开”,并使用virsh编辑将“ interface type ='direct'trustGuestRxFilters ='yes'”添加到了vn文件中。

谢谢

linux qemu kvm arp libvirt
1个回答
0
投票

我通过将接口模式从VEPA更改为网桥来使我的工作正常。然后当虚拟机启动时,您会在virsh列表中获取虚拟机的ID,然后使用

向上和向下翻转接口
virsh domif-setlink id  macvtap(number) up/down
© www.soinside.com 2019 - 2024. All rights reserved.