Resultados ARP diferentes entre o host e a máquina virtual

1

Recentemente, usando o VMWare Player, configurei uma máquina virtual Linux em um host Windows. Eu configurei o adaptador de rede para ser uma rede em ponte com a opção Replicar marcada. O endereço IP estava na rede física, mas usar o comando arp -a resultará diferente entre o host e a máquina virtual - o host pode detectar outros hosts na rede Wi-Fi enquanto a VM não pode.

Sabendo que o host é como um switch que encaminha as informações da rede para a VM, acho que a VM pode acessar a rede real, mas não consigo entender por que não. Eu quero saber exatamente como essa rede interligada funciona e se posso pegar a rede real dentro da máquina virtual.

--- editar ---

O engraçado é que eu vejo alguns, mas não todos os resultados através de arp-scan -l

Aqui está a saída:

  1. arp -a result no host do Windows
  2. arp result on VM Linux
  3. arp-scan -l na VM

    
por Default-Cat 27.11.2013 / 00:11

3 respostas

1

Não tenho certeza se sua suposição está correta. Eu uso regularmente dispositivos de rede em ponte e foi minha experiência que o tráfego de rede para uma das VMs está um pouco isolado. Eu uso KVM , mas a tecnologia de ponte que uso é oferecida pelo host Linux, então imagino que talvez não seja idêntico, mas semelhante.

Também seu uso de arp me confunde. Esse comando apenas mostra quais sistemas foram contatados recentemente por um sistema, e que eles são mantidos no cache de ARP do sistema. O comando arp está exibindo o conteúdo deste cache.

Exemplo

Eu tenho um host da VM + 1 convidado.

host

$ arp -a
hostX (192.168.1.226) at XX:XX:XX:XX:XX:XX [ether] on br0
hostY (192.168.1.7) at XX:XX:XX:XX:XX:XX [ether] on br0
hostZ (192.168.1.5) at XX:XX:XX:XX:XX:XX [ether] on br0
hostA (192.168.1.1) at XX:XX:XX:XX:XX:XX [ether] on br0

convidado

$ arp -a
hostA (192.168.1.1) at XX:XX:XX:XX:XX:XX [ether] on eth0
hostY (192.168.1.7) at XX:XX:XX:XX:XX:XX [ether] on eth0
hostB (192.168.1.100) at XX:XX:XX:XX:XX:XX [ether] on eth0
hostC (192.168.1.8) at XX:XX:XX:XX:XX:XX [ether] on eth0
hostX (192.168.1.226) at XX:XX:XX:XX:XX:XX [ether] on eth0

Pontes são dispositivos da Camada 2, portanto, não esperaria ver qualquer evidência de arp data no host da VM, do guest da VM.

excerto - 9.2.5. Ponte de Rede - Redhat docs

A network bridge is a Link Layer device which forwards traffic between networks based on MAC addresses and is therefore also referred to as a Layer 2 device. It makes forwarding decisions based on tables of MAC addresses which it builds by learning what hosts are connected to each network. A software bridge can be used within a Linux host in order to emulate a hardware bridge, for example in virtualization applications for sharing a NIC with one or more virtual NICs.

Depurando isso ainda mais?

Eu usei a ferramenta de análise de rede tcpdump nas VMs guest e host. Isso provavelmente mostrará onde está o afunilamento.

$ sudo tcpdump -i eth0

Altere o argumento para -i para cada interface de rede que você deseja monitorar.

    
por 27.11.2013 / 08:48
0

O comando arp(8) mostra o conteúdo das tabelas de tradução usadas pelo Protocolo de Resolução de Endereços pelo SO; a tabela consiste principalmente nas respostas em cache às solicitações arp who-has locais.

Se você tiver uma máquina virtual, com rede em ponte, mas que não esteja se comunicando ativamente com nenhum dos hosts da rede local, a tabela de arp provavelmente será bem pequena.

Da mesma forma, se você tem várias redes locais no host, mas só conecta uma dessas redes à VM, então você não está realmente conectado às outras redes, agora você está?

Pode parecer que você preencheu o GigE sem encapsular o WiFi.

Ou, talvez, você tenha preenchido o Wi-Fi, mas o ponto de acesso não gosta do seu novo endereço MAC.

    
por 27.11.2013 / 01:36
0

Baseado nas fotos que você atacou - arp -n não retornando absolutamente nada em sua VM Linux - parece que você simplesmente esqueceu de configurar o endereço IP dentro do Linux, portanto você não está recebendo nenhuma entrada ARP.

Você configurou uma alocação estática no Linux manualmente ou está executando um dhclient em sua VM do Linux? Você não forneceu nenhuma saída ifconfig para poder discernir ainda mais o problema.

Você também pode ter que considerar que talvez seu ponto de acesso possa não gostar que você estenda sua rede.

    
por 27.11.2013 / 03:59