Problemas com traceroute em máquina virtual

Iniciado por antoniobenaion, 12 de Novembro de 2010, 10:30

tópico anterior - próximo tópico

antoniobenaion

Pessoal,

Estou tentando realizar um comando de traceroute entre minha máquina local (utilizando Ubuntu 9.30 rodando em uma máquina virtual) e um IP qualquer. No entanto, quando eu faço o traceroute para o IP, aparecem apenas o host da minha conexão local e o IP final, sem mostrar os saltos intermediários. Exemplo:

root@antonio-desktop:~# traceroute 200.20.94.244 > logtraceroute_20101110.txt
1  192.168.52.2 (192.168.52.2)  0 ms  0 ms  0 ms
rnp-cbpf.rederio.br (200.20.94.244)  28 ms *  16 ms
traceroute to 200.20.94.244 (200.20.94.244), 64 hops max, 40 byte packets


No entanto, rodando o tracert no Windows XP (máquina desktop), obtive o traceroute normal, com os passos intermediários aparecendo normalmente. Já quando rodei o tracert do Windows no Ubuntu da máquina virtual, aparece a seguinte saída:

root@antonio-desktop:~# traceroute 200.20.94.244 > logtraceroute_20101110.txt
1  192.168.52.2 (192.168.52.2)  0 ms  0 ms  0 ms
2  * * *
3  * * *
4  * * *
5  * * *
rnp-cbpf.rederio.br (200.20.94.244)  28 ms *  16 ms
traceroute to 200.20.94.244 (200.20.94.244), 64 hops max, 40 byte packets


Tentei ainda rodar o traceroute e o tracert numa máquina virtual com o Debian instalado, mas obtive os mesmos resultados que os do Ubuntu. Algum de vocês sabe dizer qual correção seria necessária para o traceroute funcionar normalmente em uma máquina virtual, da mesma forma que numa máquina desktop?

[]'s!!

zekkerj

#1
Citar...utilizando Ubuntu 9.30 rodando em uma máquina virtual...

??? Só existe 9.04 e 9.10. Vc tem certeza do que disse???

Outra coisa, as saídas que vc apresentou, se vêm de máquinas diferentes, não correspondem à sua saída real, pois ambas usam o mesmo IP de origem, o que só poderia acontecer se sua máquina estivesse em dual boot. Além disso, o início da segunda saída dá como se o comando tivesse sido gerado no próprio ubuntu, e não no hospedeiro windows.

Rode novamente os comandos e cole aqui os resultados corretos, OK?

CitarTentei ainda rodar o traceroute e o tracert numa máquina virtual com o Debian instalado, mas obtive os mesmos resultados que os do Ubuntu. Algum de vocês sabe dizer qual correção seria necessária para o traceroute funcionar normalmente em uma máquina virtual, da mesma forma que numa máquina desktop?

De acordo com a opção escolhida de hypervisor (VMware, VirtualBox, VirtualPC, etc) e de interface de rede (bridge, nat, host-only), você pode ter resultados diferentes. Além disso, o firewall da máquina hospedeira pode interferir pesadamente no comportamento.

Sem saber essas variáveis, só dá pra afirmar que ou as respostas ICMP Time Exceeded, que são a base do funcionamento do traceroute, estão sendo bloqueadas pelo hospedeiro, ou o TTL do pacote, ao ser repassado pelo hypervisor para a rede física, está sendo resetado.

Acho inclusive que a segunda opção é mais provável (alteração indevida no TTL), pois se os ICMP Time Exceeded estivessem sendo bloqueados, vc veria linhas de "* * *", na resposta, conforme os TTLs fossem aumentando.

Já na hipótese do TTL alterado, o resultado seria exatamente o que você viu, pois ao tentar identificar o segundo HOP (TTL=1), o pacote conseguiria alcançar a rede de destino indevidamente.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

antoniobenaion

Citação de: zekkerj online 12 de Novembro de 2010, 11:16
Citar...utilizando Ubuntu 9.30 rodando em uma máquina virtual...

Hã??? Só existe 9.04 e 9.10. Vc tem certeza do que disse???

Foi mal, lapso meu. Na verdade, é versão 9.10 mesmo.  :P

Citação de: zekkerj online 12 de Novembro de 2010, 11:16Outra coisa, as saídas que vc apresentou, se vêm de máquinas diferentes, não correspondem à sua saída real, pois ambas usam o mesmo IP de origem, o que só poderia acontecer se sua máquina estivesse em dual boot. Além disso, o início da segunda saída dá como se o comando tivesse sido gerado no próprio ubuntu, e não no hospedeiro windows.

Rode novamente os comandos e cole aqui os resultados corretos, OK?

Na verdade, o que acontece é que rodei o traceroute no XP (sistema que está rodando diretamente na minha máquina), e também no Ubuntu e no Debian (ambos rodando em máquinas virtuais instaladas na mesma máquina onde esse XP está rodando como sistema principal), os quais utilizam a mesma conexão de internet do XP, daí o mesmo IP de origem. No caso, a máquina virtual estaria funcionando como se eu estivesse rodando o traceroute de uma outra máquina, que não fosse a máquina física onde o XP está instalado?

Citação de: zekkerj online 12 de Novembro de 2010, 11:16
CitarTentei ainda rodar o traceroute e o tracert numa máquina virtual com o Debian instalado, mas obtive os mesmos resultados que os do Ubuntu. Algum de vocês sabe dizer qual correção seria necessária para o traceroute funcionar normalmente em uma máquina virtual, da mesma forma que numa máquina desktop?

De acordo com a opção escolhida de hypervisor (VMware, VirtualBox, VirtualPC, etc) e de interface de rede (bridge, nat, host-only), você pode ter resultados diferentes. Além disso, o firewall da máquina hospedeira pode interferir pesadamente no comportamento.

Sem saber essas variáveis, só dá pra afirmar que ou as respostas ICMP Time Exceeded, que são a base do funcionamento do traceroute, estão sendo bloqueadas pelo hospedeiro, ou o TTL do pacote, ao ser repassado pelo hypervisor para a rede física, está sendo resetado.

Acho inclusive que a segunda opção é mais provável (alteração indevida no TTL), pois se os ICMP Time Exceeded estivessem sendo bloqueados, vc veria linhas de "* * *", na resposta, conforme os TTLs fossem aumentando.

Já na hipótese do TTL alterado, o resultado seria exatamente o que você viu, pois ao tentar identificar o segundo HOP (TTL=1), o pacote conseguiria alcançar a rede de destino indevidamente.

A máquina virtual de onde rodei o traceroute está funcionando no VMWare. Quando à interface de rede, se não estiver enganado, é eth (só não lembro de cabeça se eth0 ou eth1, isso eu teria que conferir em casa, onde tá tudo instalado). Espero que isso ajude, de alguma forma.

[]'s

zekkerj

#3
Citaros quais utilizam a mesma conexão de internet do XP, daí o mesmo IP de origem.
Não, cada máquina tem o seu próprio IP, que tem que ser único. A única forma de duas máquinas terem o mesmo IP é elas estarem em dual boot, ou seja, elas não são executadas ao mesmo tempo.

Se você está configurando as máquinas virtuais com o mesmo IP da hospedeira, seu erro começa aí.

CitarQuando à interface de rede, se não estiver enganado, é eth (só não lembro de cabeça se eth0 ou eth1, isso eu teria que conferir em casa, onde tá tudo instalado). Espero que isso ajude, de alguma forma.
Como o vmware só implementa interfaces ethernet, essa interface sempre vai ser "eth" mesmo. Mas o tipo da interface, na configuração da VM, pode ser "bridge", "nat" ou "host only". Qual é o tipo da interface que você está usando?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

antoniobenaion

Citação de: zekkerj online 12 de Novembro de 2010, 14:06
Citaros quais utilizam a mesma conexão de internet do XP, daí o mesmo IP de origem.
Não, cada máquina tem o seu próprio IP, que tem que ser único. A única forma de duas máquinas terem o mesmo IP é elas estarem em dual boot, ou seja, elas não são executadas ao mesmo tempo.

Se você está configurando as máquinas virtuais com o mesmo IP da hospedeira, seu erro começa aí.

CitarQuando à interface de rede, se não estiver enganado, é eth (só não lembro de cabeça se eth0 ou eth1, isso eu teria que conferir em casa, onde tá tudo instalado). Espero que isso ajude, de alguma forma.
Como o vmware só implementa interfaces ethernet, essa interface sempre vai ser "eth" mesmo. Mas o tipo da interface, na configuração da VM, pode ser "bridge", "nat" ou "host only". Qual é o tipo da interface que você está usando?

Como fiz a instalação mais "default" possível do ubuntu na máquina virtual, não cheguei a configurar o IP da máquina virtual, para conexão de rede. Acredito que tenha pego então por "default" o IP da conexão da máquina hospedeira.

Sobre a interface do VMWare, pelo que andei vendo aqui, também ficou o mais default, tendo ficado então uma interface "nat".

[]'s

zekkerj

É, tem mais coisa errada aí então... quando você usa o VMware, ele cria uma rede virtual para o serviço NAT, e oferece automaticamente DHCP nessa rede virtual. Só que ele pesquisa o hospedeiro, para escolher uma faixa de endereços que esteja livre.

Ou seja, a VM, em modo automático, teria que ter um endereço completamente diferente do hospedeiro. Tipo, se o hospedeiro é "192.168.52.2", a VM seria, por exemplo, "172.30.44.9".

Quer saber? Melhor do que ficar discutindo isso, seria você passar informações atualizadas. Execute os comandos abaixo e cole o comando aqui.

-----------------------
Na máquina virtual Ubuntu:

nm-tool

cat /etc/network/interfaces

---------------------------------

Na máquina hospedeira windows:

ipconfig /all
---------------------------------
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

antoniobenaion

Apenas um esclarecimento, para algo que creio ter gerado um mal-entendido em relação ao tópico: As saídas que apresentei no começo do tópico foram ambas rodadas na máquina virtual com o Ubuntu instalado, daí o mesmo IP para ambas; sendo uma com o comando traceroute, e a outra com o comando tracert. Por desatenção acabei não esclarecendo isto, o que gerou a impressão de que uma delas foi rodada no Windows.

Sobre os comandos passados no último post, ainda não tive oportunidade de rodá-los, estou no trabalho agora. Assim que podssível, os rodarei e coloco as saídas geradas aqui.

[]'s

antoniobenaion

#7
Citação de: zekkerj online 12 de Novembro de 2010, 15:13
Quer saber? Melhor do que ficar discutindo isso, seria você passar informações atualizadas. Execute os comandos abaixo e cole o comando aqui.

-----------------------
Na máquina virtual Ubuntu:

nm-tool

root@antonio-desktop:~# nm-tool

NetworkManager Tool

State: connected

- Device: eth0  [Auto eth0] ----------------------------------------------------
 Type:              Wired
 Driver:            pcnet32
 State:             connected
 Default:           yes
 HW Address:        00:0C:29:2C:75:73

 Capabilities:
   Carrier Detect:  yes

 Wired Properties
   Carrier:         on

 IPv4 Settings:
   Address:         192.168.52.139
   Prefix:          24 (255.255.255.0)
   Gateway:         192.168.52.2

   DNS:             192.168.52.2


Citação de: zekkerj online 12 de Novembro de 2010, 15:13cat /etc/network/interfaces

root@antonio-desktop:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback

Citação de: zekkerj online 12 de Novembro de 2010, 15:13---------------------------------

Na máquina hospedeira windows:

ipconfig /all
---------------------------------

C:\Documents and Settings\Antonio Matheus>ipconfig /all

Configuração de IP do Windows

       Nome do host . . . . . . . . . . . : casa-3b90f08408
       Sufixo DNS primário. . . . . . . . :
       Tipo de nó . . . . . . . . . . . . : desconhecido
       Roteamento de IP ativado . . . . . : não
       Proxy WINS ativado . . . . . . . . : não

Adaptador Ethernet VMware Network Adapter VMnet8:

       Sufixo DNS específico de conexão  . :
       Descrição . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter fo
r VMnet8
       Endereço físico . . . . . . . . . . : 00-50-56-C0-00-08
       DHCP ativado. . . . . . . . . . . . : Não
       Endereço IP . . . . . . . . . . . . : 192.168.52.1
       Máscara de sub-rede . . . . . . . . : 255.255.255.0
       Gateway padrão. . . . . . . . . . . :

Adaptador Ethernet VMware Network Adapter VMnet1:

       Sufixo DNS específico de conexão  . :
       Descrição . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter fo
r VMnet1
       Endereço físico . . . . . . . . . . : 00-50-56-C0-00-01
       DHCP ativado. . . . . . . . . . . . : Não
       Endereço IP . . . . . . . . . . . . : 192.168.88.1
       Máscara de sub-rede . . . . . . . . : 255.255.255.0
       Gateway padrão. . . . . . . . . . . :

Adaptador Ethernet Conexão local:

       Sufixo DNS específico de conexão  . :
       Descrição . . . . . . . . . . . . . : NVIDIA nForce Networking Controlle
r
       Endereço físico . . . . . . . . . . : 00-1E-90-CC-A5-8B
       DHCP ativado. . . . . . . . . . . . : Sim
       Configuração automática ativada . . : Sim
       Endereço IP de config. automática . : 169.254.113.206
       Máscara de sub-rede . . . . . . . . : 255.255.0.0
       Gateway padrão. . . . . . . . . . . :

Adaptador Ethernet {35D86FE8-B5D1-4338-B534-C8C2F4B13C69}:

       Estado da mídia . . . . . . . . . . . : mídia desconectada
       Descrição . . . . . . . . . . . . . : Anchorfree HSS Adapter - Miniporta
do agendador de pacotes
       Endereço físico . . . . . . . . . . : 00-FF-35-D8-6F-E8

Adaptador PPP Conexão Velox:

       Sufixo DNS específico de conexão  . :
       Descrição . . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
       Endereço físico . . . . . . . . . . : 00-53-45-00-00-00
       DHCP ativado. . . . . . . . . . . . : Não
       Endereço IP . . . . . . . . . . . . : 189.25.38.32
       Máscara de sub-rede . . . . . . . . : 255.255.255.255
       Gateway padrão. . . . . . . . . . . : 189.25.38.32
       Servidores DNS. . . . . . . . . . . : 200.149.55.140
                                           200.165.132.147
       NetBIOS por Tcpip . . . . . . . . . : Desativado

zekkerj

como está configurada a placa de rede dessa VM? Bridge, NAT ou HostOnly?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

antoniobenaion


zekkerj

OK. Qual a versão do vmware que vc está usando? VMware Player, VMware Workstation, ou VMware Server?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

antoniobenaion

Citação de: zekkerj online 16 de Novembro de 2010, 15:50
OK. Qual a versão do vmware que vc está usando? VMware Player, VMware Workstation, ou VMware Server?

VMWare Workstation.

zekkerj

Tem o número da versão exata? Pq isso pode ser um bug dessa versão do VMware Workstation. Eu não costumo usar o Workstation, pois de todas as muitas versões do VMware, é a única que não tem versão gratuita. Por isso uso (e recomendo!) o VMware Player, o Server, e o ESXi.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

antoniobenaion

Aqui eu tô usando a versão 6.5 do Workstation.  :-\

zekkerj

Vc tem alguma VM Windows? Faça o teste lá também. Se o mesmo problema acontecer, o bug é no VMware Workstation.
PS:
http://communities.vmware.com/message/1219174
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D