vlan qemu: convidado ouvindo de outros convidados

3

Estou tentando simular uma pequena rede de 3 máquinas usando o QEMU, onde uma máquina (deb1) está diretamente conectada com o host e as outras duas máquinas (deb2, deb3):

                      Host 
                       |
           -----------deb1-----------
           |                        |
          deb2                     deb3          

deb1 está conectado a 2 redes diferentes, um (vlan 1) conecta deb1 com o host, no outro (vlan 2) irá conectar deb1 com as outras duas máquinas, então deb1 deve escutar da porta 1234:

kvm -hda deb1.img -m 256 \
-net nic,vlan=1 -net user,vlan=1 -net nic,vlan=2,macaddr=52:54:00:12:34:57 \
-net socket,vlan=2,listen=localhost:1234

deb2 e deb3 ambos devem estar conectados ao deb1, a única diferença é o endereço mac:

deb2:

 kvm -hda deb2.img -m 256 -net nic,vlan=2,macaddr=52:54:00:12:34:01 \
 -net socket,vlan=2,connect=localhost:1234

deb3:

 kvm -hda deb3.img -m 256 -net nic,vlan=2,macaddr=52:54:00:12:34:02 \
 -net socket,vlan=2,connect=localhost:1234

Quando as três máquinas são iniciadas, basta definir seu endereço IP:

deb1:

ifconfig eth1 192.168.10.2

deb2:

ifconfig eth0 192.168.10.3

deb3:

ifconfig eth0 192.168.10.4

Aqui o problema: a conexão entre deb1 e deb2 funciona perfeitamente, mas não aquele entre deb1 e deb3 . Quando eu desligo deb2 , a conexão entre deb1 e deb3 começa a funcionar. Parece que deb1 não consegue ouvir ao mesmo tempo deb2 e deb3 .

O que estou fazendo de errado?

Na verdade, eu segui o que está escrito em este guia (veja a seção 4.2 Rede somente para convidados: "Quando você quiser usar mais de três sistemas operacionais convidados, basta conectar-se ao sistema operacional. Use macaddr diferente.") e este artigo

    
por DDK 14.12.2015 / 16:32

1 resposta

0

-net socket,{listen|connect}=... é adequado apenas para conexões 1: 1.

netstat -anp46|grep qemu mostra que não há conexão entre o qemu de deb3 e deb1.

Use -net socket,mcast=... em vez disso.

    
por 21.03.2016 / 08:08