por que a ponte linux mostra 2 endereços mac para um qemu vm?

3

Eu sou novo no qemu networking e bastante confuso sobre a seguinte situação. Eu lancei 5 VMs. Cada um se conecta ao br0 através de um dispositivo de toque. Eu também tenho um dnsmasq ouvindo em br0 para DHCP.

O problema é que o dnsmasq não distribui ip para a VM de acordo com o arquivo dhcp_host que eu especifiquei. O arquivo dhcp_host tem entradas como: mac: ip. Eu pensei que quando eu colocava o mac addr no qemu, o dnsmasq deveria procurar o ip do arquivo dhcp_host. Mas isso não aconteceu. Em vez disso, distribui ip aleatoriamente.

Agora, quando eu verifiquei com brctl. Mostra 10 endereços mac em vez de 5 !? Eu procurei muitos tutoriais de rede do google antes de perguntar aqui. Nenhum deles responde minhas perguntas. Alguém poderia explicar a situação ou me dar algumas dicas? Obrigado!

 $ brctl show
 bridge name     bridge id               STP enabled     interfaces
 br0             8000.1ed7c974ed93       no               tap0
                                                          tap1
                                                          tap2
                                                          tap3
                                                          tap4
$ brctl showmacs br0
port no mac addr                is local?       ageing timer
  1     02:2f:ef:29:be:36       no                 1.73
  1     1e:d7:c9:74:ed:93       yes                0.00
  4     22:00:f4:a8:89:8a       no                 3.99
  5     5a:e6:2a:d6:a0:50       yes                0.00
  3     5e:18:64:12:3d:ec       yes                0.00
  3     72:22:53:51:f4:fa       no                 3.08
  4     7a:e4:22:89:59:9a       yes                0.00
  5     82:9f:d3:6d:54:17       no                 0.69
  2     c2:fb:2a:3a:81:e9       no                32.99
  2     e6:a6:7a:a4:49:d4       yes                0.00

ATUALIZAÇÃO: Abaixo está uma informação do processo qemu de amostra de ps aux

user     15983 99.9  8.0 5673100 5296180 ?     Sl   12:29 214:30 qemu-system-x86_64 
-enable-kvm -snapshot -no-shutdown 
-m 5120 -smp 2 
-pidfile /home/user/vm-workingdir/instance-2/pid 
-monitor unix:/home/htrc/user/instance-2/monitor,server,nowait 
-serial file:/home/user/vm-workingdir/instance-2/release_mon 
-usb 
-net nic,vlan=0,macaddr=c2:b3:04:4b:8c:c8 
-net tap,vlan=0,fd=3 
-hda /home/user/vm-workingdir/instance-2/image.img 
-vnc :105,password
    
por helloworld 17.11.2014 / 21:04

1 resposta

3

O mac do dispositivo de toque e o mac real da NIC virtual na VM são diferentes, e é por isso que você vê o dobro da quantidade de MACs na saída.

Você deve apenas olhar para os MACs internos da VM, aqueles que você especifica no argumento -net nic,vlan=0,macaddr=XX:XX... , os MACs de tap dev não são importantes.

    
por 18.11.2014 / 16:45