Estou usando qemu / kvm com rede em ponte. Na máquina host, existem várias interfaces de rede "vnetX" sem IP. Estou procurando uma maneira de saber qual vnetX pertence a uma máquina virtual.
Tentei combinar os valores de endereço MAC nessas interfaces com os MACs nas máquinas virtuais (ou o XML que os define), mas não corresponde.
Há o brctl show que mostra as interfaces vnet que pertencem a uma ponte, mas isso não é uma informação útil.
Existe uma maneira de conhecer essa relação? Valeu!!
fonte
for vm in $(virsh list | grep running | awk '{print $2}'); do echo -n "$vm:"; virsh dumpxml $vm| grep -oP "vnet\d+" ; done
Tente
virsh dumpxml $domain
, você verá algo como:o
alias name
é o que é usado na linha de comando qemu-kvm, por isso, se você executarps -ef |grep qemu|grep net1
do meu exemplo, você vai ver a sintaxe do comando real usado para essa interface.fonte
Todas as soluções fornecidas acima assumem que as VMs estão sendo gerenciadas pela libvirt. É bem possível executar VMs QEMU sem isso; nesse caso, você não pode usar o virsh ou consultar o XML para encontrar a resposta.
No caso de executar VMs QEMU a partir de uma linha de comando "bruta":
tcpdump -i tap0 -f 'icmp' (substitua a interface de toque em que você estiver interessado)
Faça ping em cada VM candidata até ver pacotes no rastreamento. A interface que você está rastreando quando os pacotes ICMP aparecem é a que você está procurando!
Por outro lado, você pode iniciar um ping em uma VM específica e, em seguida, tcpdump cada interface de toque até que uma "acenda". Depende se você está interessado em encontrar a VM que corresponde à interface de toque ou a interface de toque que corresponde à VM.
fonte
O endereço MAC das
vnetX
interfaces pertence ao host, não ao convidado.brctl showmacs br0
mostrará os MACs detectados pela ponte, mas você precisará cruzar o número da porta com a lista de interfaces debrctl show
.fonte
Corresponder endereços IP do cache do Arp à VM
Saída de amostra:
fonte
Com base na resposta @daff:
Exemplo de saída:
fonte
Exemplo de saída:
fonte