Como solucionar problemas de uma rede macvtap no kvm / virt-manager

4

Eu tenho uma máquina virtual em execução no qemu-kvm, em um host 13.10. Estou usando o virt-manager para definir a máquina e adicionei uma NIC virtual usando o novo driver macvtap. Eu tenho a seguinte definição:

<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>

Na máquina host, vejo que a interface de toque é criada:

$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

Mas na máquina virtual, a interface eth0 não consegue acessar a rede. dhcp falha. A configuração estática obviamente funciona, mas não consigo pingar nada.

Eu não tenho regras iptables, nem no host, nem na máquina virtual.

Então, como posso solucionar esse problema?

    
por alci 15.11.2013 / 12:36

1 resposta

1

Eu tenho o mesmo problema com o Ubuntu 13.10, eu também atualizo para o ramo de desenvolvimento 14.04 para tentar, mas ainda não funciona.

Eu não sei uma boa maneira de depurar, para o meu problema, achei eth0 não entra no modo promíscuo, não consigo encontrar a mensagem como device eth0 entered promiscuous mode na saída dmesg. Então eu forço a eth0 a entrar em modo promíscuo, o problema então desaparece.

Foi o que eu fiz:

  1. Força a eth0 no modo promíscuo: sudo ifconfig eth0 promisc
  2. Use o virt-manager para iniciar a VM
  3. ifconfig -a e pingue fora para ver se funciona para você.

Eu não sei porque a libvirt não coloca a eth0 em modo promíscuo, talvez um bug dela.

    
por user220450 27.12.2013 / 07:20