У меня есть виртуальная машина, работающая под qemu-kvm, на хосте 13.10. Я использую virt-manager для определения машины, и я добавил виртуальную сетевую карту, используя новый драйвер macvtap. У меня есть следующее определение:
<interface type='direct'>
<mac address='52:54:00:1f:dd:c4'/>
<source dev='eth0' mode='bridge'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
На хост-машине я вижу, что интерфейс крана создан:
$ip link
5: macvtap0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT qlen 500
link/ether 52:54:00:1f:dd:c4 brd ff:ff:ff:ff:ff:ff
$ls /dev/tap5
/dev/tap5
Но на виртуальной машине интерфейс eth0 не может получить доступ к сети. сбой dhcp. Статическая конфигурация, очевидно, работает, но тогда я ничего не могу пропинговать.
У меня нет правил iptables ни на хосте, ни на виртуальной машине.
Итак, как я могу устранить эту проблему?
У меня та же проблема с Ubuntu 13.10, я также пытаюсь обновить ветку разработки до 14.04, но она все еще не работает.
Я не знаю хорошего способа отладки, для моей проблемы я обнаружил, что eth0 не входит в беспорядочный режим, я не могу найти сообщение типа device eth0 entered promiscuous mode
в выводе dmesg. Поэтому я вынуждаю eth0 в беспорядочный режим, затем проблема исчезает.
Вот что я сделал:
ifconfig -a
и выйдите на улицу, чтобы посмотреть, подходит ли вам это. Я не знаю, почему libvirt не переводит eth0 в беспорядочный режим, возможно, это ошибка.