Loop de roteamento: TTL expirou em trânsito

0

Estou tentando fazer ping do meu PC host (Windows 7) para o Ubuntu 13.04 (VirtualBox). No entanto, recebo o erro:

Pinging 10.0.2.15 with 32 bytes of data:
Reply from 78.87.2.210: TTL expired in transit.
Reply from 78.87.2.210: TTL expired in transit.
Reply from 78.87.2.210: TTL expired in transit.
Reply from 78.87.2.210: TTL expired in transit.

Ping statistics for 10.0.2.15:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

tracert 10.0.2.15 mostrou que existe um loop de roteamento.

Tracing route to 10.0.2.15 over a maximum of 30 hops

  1     1 ms    <1 ms    <1 ms  192.168.1.1
  2    42 ms    43 ms    42 ms  b5.met.cyta.gr [46.103.127.5]
  3     *       41 ms     *     178-103-193.brsl3.cyta.gr [178.59.10
  4    45 ms    42 ms    46 ms  78-2-210.itr.cyta.gr [78.87.2.210]
  5     *        *        *     Request timed out.
  6    46 ms    47 ms    44 ms  78-2-210.itr.cyta.gr [78.87.2.210]
  7     *       42 ms    42 ms  e2-med-t7-4.itr.cyta.gr [78.87.2.199
  8    43 ms    44 ms    43 ms  78-2-210.itr.cyta.gr [78.87.2.210]
  9     *       43 ms    42 ms  e2-med-t7-4.itr.cyta.gr [78.87.2.199
 10    46 ms    42 ms    44 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 11     *        *        *     Request timed out.
 12    42 ms    43 ms    43 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 13     *        *        *     Request timed out.
 14    45 ms    44 ms    42 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 15     *        *       43 ms  e2-med-t7-4.itr.cyta.gr [78.87.2.199
 16    46 ms    47 ms    47 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 17     *        *        *     Request timed out.
 18    46 ms    45 ms    45 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 19     *        *        *     Request timed out.
 20    44 ms    43 ms    43 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 21     *        *       43 ms  e2-med-t7-4.itr.cyta.gr [78.87.2.199
 22    44 ms    44 ms    46 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 23    42 ms     *       43 ms  e2-med-t7-4.itr.cyta.gr [78.87.2.199
 24    45 ms    43 ms    43 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 25    43 ms     *       45 ms  e2-med-t7-4.itr.cyta.gr [78.87.2.199
 26    54 ms    47 ms    44 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 27    43 ms     *        *     e2-med-t7-4.itr.cyta.gr [78.87.2.199
 28    43 ms    42 ms    46 ms  78-2-210.itr.cyta.gr [78.87.2.210]
 29     *        *       42 ms  e2-med-t7-4.itr.cyta.gr [78.87.2.199
 30    43 ms    43 ms    44 ms  78-2-210.itr.cyta.gr [78.87.2.210]

Existe alguma maneira de resolver este problema?

Configurações de rede do VirtualBox:

Adaptador somente para host

Modo Promíscuo: Negar

Cabo conectado

    
por dempap 14.10.2013 / 19:23

1 resposta

1

TL: DR;

Você configurou incorretamente o roteamento e está vazando endereços IP privados para a Internet. Corrigir seu roteamento. Isso pode ajudar.

Versão mais longa:

Os números IP são exclusivos. Nós temos apenas 2 32 IPs e eles são cuidadosamente alocados para que possamos saber como rotear os pacotes IP de um local para outro. Se você se conectar à Internet, deverá usar um desses IPs ou intervalos de IP atribuídos oficialmente.

Isso nem sempre é prático quando você tem mais computadores do que endereços IP (e normalmente você só obtém um único IP como usuário doméstico). Nós trabalhamos em torno disso com a RFC 1918. A RFC 1918 descreve alguns intervalos de IP que nunca devem ser usados publicamente na Internet. Isso significa que:

  • Você pode usá-los livremente em casa, mas também
  • Você nunca deve vazar esses dados para a Internet. E
  • Se você quiser se comunicar de um host com um IP RFC1918, deverá usar alguns truques especiais (por exemplo, túneis, VPN ou NAT).

No seu caso, você envia pacotes diretamente da 10.0.2.15 para a internet. Você pode ver o pacote iniciar em 10.0.2.15, depois ser roteado para 192.168.1.1 (que provavelmente é seu gateway padrão) e de lá para 5.met.cyta.gr. 5.met.cyta.gr nunca deve ver o seu pacote. Ele deveria ter sido descartado na borda da sua rede doméstica.

No entanto, devido à configuração incorreta, o 5.met.cyta.gr obtém o pacote. Por alguma razão, ele envia para e2-med-t7-4.itr.cyta.gr. Isso pode ser porque eles nunca esperaram ver esse tipo de pacote errado e este é o padrão de e-mail do e2-med-t7-4.itr.cyta.gr, ou porque o cyta.gr também usa o intervalo 10.0.0.0/8 internamente. O e2-med-t7-4.itr.cyta.gr também não sabe o que fazer com ele e o envia para 5.met.cyta.gr, onde o loop começa novamente.

Sem uma consideração cuidadosa, isso atrapalha a rede entre essas duas máquinas à medida que elas continuam encaminhando pacotes entre si. Eventualmente, estas duas últimas máquinas estarão tão ocupadas que não poderão fazer mais nada.

Para evitar esses tipos de problemas, os datagramas IP possuem um campo chamado TTL (time to live). Cada vez que um pacote / datagrama passa por um roteador, este campo é reduzido em um. Se ele chegar a zero, ele será descartado e um aviso será enviado de volta ao remetente original. Isso faz com que a mensagem TTL expirada em trânsito seja exibida no seu computador.

A correção é configurar corretamente seu próprio roteador de borda (provavelmente em 192.168.1.1). Ele deve não encaminhar pacotes para qualquer um dos IPs RFC1918 (192.168.0.0/16, 10.0.0.0/8 ou 172.16.0.0/16) para a Internet.

O que deve fazer com eles depende da configuração da sua casa. Não há informações suficientes no post para responder isso.

    
por 14.10.2013 / 19:43