Endereço RFC 1918 na internet aberta?

18

Ao tentar diagnosticar um problema de failover com meus firewalls Cisco ASA 5520, corri um traceroute para www.btfl.com e, para minha surpresa, alguns dos saltos voltaram como endereços RFC 1918.

Só para esclarecer, este host não está atrás do meu firewall e não há VPN envolvida. Eu tenho que me conectar pela Internet aberta para chegar lá.

Como / por que isso é possível?

asa# traceroute www.btfl.com

Tracing the route to 157.56.176.94

 1  <redacted>
 2  <redacted>
 3  <redacted>
 4  <redacted>
 5  nap-edge-04.inet.qwest.net (67.14.29.170) 0 msec 10 msec 10 msec
 6  65.122.166.30 0 msec 0 msec 10 msec
 7  207.46.34.23 10 msec 0 msec 10 msec
 8   *  *  *
 9  207.46.37.235 30 msec 30 msec 50 msec
 10 10.22.112.221 30 msec
    10.22.112.219 30 msec
    10.22.112.223 30 msec
 11 10.175.9.193 30 msec 30 msec
    10.175.9.67 30 msec
 12 100.94.68.79 40 msec
    100.94.70.79 30 msec
    100.94.71.73 30 msec
 13 100.94.80.39 30 msec
    100.94.80.205 40 msec
    100.94.80.137 40 msec
 14 10.215.80.2 30 msec
    10.215.68.16 30 msec
    10.175.244.2 30 msec
 15  *  *  *
 16  *  *  *
 17  *  *  *

e faz o mesmo da minha conexão FiOS em casa:

C:\>tracert www.btfl.com

Tracing route to www.btfl.com [157.56.176.94]
over a maximum of 30 hops:

  1     1 ms    <1 ms    <1 ms  myrouter.home [192.168.1.1]
  2     8 ms     7 ms     8 ms  <redacted>
  3    10 ms    13 ms    11 ms  <redacted>
  4    12 ms    10 ms    10 ms  ae2-0.TPA01-BB-RTR2.verizon-gni.net [130.81.199.82]
  5    16 ms    16 ms    15 ms  0.ae4.XL2.MIA19.ALTER.NET [152.63.8.117]
  6    14 ms    16 ms    16 ms  0.xe-11-0-0.GW1.MIA19.ALTER.NET [152.63.85.94]
  7    19 ms    16 ms    16 ms  microsoft-gw.customer.alter.net [63.65.188.170]
  8    27 ms    33 ms     *     ge-5-3-0-0.ash-64cb-1a.ntwk.msn.net [207.46.46.177]
  9     *        *        *     Request timed out.
 10    44 ms    43 ms    43 ms  207.46.37.235
 11    42 ms    41 ms    40 ms  10.22.112.225
 12    42 ms    43 ms    43 ms  10.175.9.1
 13    42 ms    41 ms    42 ms  100.94.68.79
 14    40 ms    40 ms    41 ms  100.94.80.193
 15     *        *        *     Request timed out.
pescoço longo
fonte

Respostas:

11

É permitido que os roteadores se conectem usando o RFC1918 ou outros endereços privados, e de fato isso é muito comum em coisas como links ponto a ponto e em qualquer roteamento que ocorra dentro de um AS.

Somente os gateways de borda em uma rede realmente precisam de endereços IP roteáveis ​​publicamente para que o roteamento funcione. Se a interface de um roteador não se conectar a nenhum outro AS (ou a qualquer outro provedor de serviços, mais simplesmente), não há necessidade de anunciar a rota na Internet, e somente o equipamento pertencente à mesma entidade precisará se conectar diretamente ao interface.

O fato de os pacotes retornarem a você dessa maneira no traceroute é uma leve violação do RFC1918, mas não é realmente necessário usar o NAT para esses dispositivos, pois eles não se conectam a coisas arbitrárias na Internet; eles apenas passam o tráfego.

O fato de o tráfego seguir a rota (possivelmente tortuosa) através de várias organizações é apenas uma consequência da operação dos protocolos de roteamento de gateway externo. Parece perfeitamente razoável que a Microsoft tenha alguma espinha dorsal e algumas pessoas tenham espiado com ela; você não precisa ser um provedor grossista para direcionar o tráfego.

O fato de o tráfego ter passado por várias séries de roteadores com IPs privados, passando por aqueles com IPs públicos no meio, não é especialmente estranho - simplesmente indica (nesse caso) duas redes diferentes ao longo do caminho rotearam o tráfego através de seus próprios roteadores que eles escolheram numerar dessa maneira.

Falcon Momot
fonte
16

Não apenas a RFC 1918 ... também a RFC 6598 , ou seja, 100.64.0.0/10espaço CGN. Ambas são redes privadas, mas a última é mais recentemente padronizada e menos conhecida.

Isso não é incomum do ponto de vista do traceroute. Na verdade, você não está falando diretamente com os hosts 10space e 100space, está enviando pacotes com TTLs cada vez maiores para o roteador do próximo salto. Para evitar que a resposta fique muito longa, este link da Wikipedia resume o processo.

O que é incomum é que esse pacote atravessa o espaço IP público e, em seguida, passa por um túnel através do espaço IP privado para alcançar uma rede "pública" mais uma vez. 157.56.176.94pertence à Microsoft, e o pacote atravessa redes pertencentes à MS antes de chegar à rede privada ... então é simplesmente o que a Microsoft está escolhendo fazer com o espaço de rede nas duas extremidades do espaço privado. Eles anunciam as rotas; os outros roteadores apenas fazem o que lhes dizem.

Como regra geral, não, os operadores de rede geralmente não expõem suas redes privadas ao longo de uma rota para o espaço IP público de fora da rede. É por isso que isso é tão incomum.

(pode ser uma rota ausente em algum lugar na borda, fazendo com que os pacotes percorram um caminho não ideal que finalmente chegue ao seu destino, mas eu não sou um cara de rede e alguém provavelmente pode fazer uma facada melhor)

Andrew B
fonte
11
A maioria das implementações de traceroute dependem do UDP + ICMP conforme seu artigo prossegue.
dmourati
@dmourati Como administrador do Unix, sou forçado a corar. Duh. Obrigado.
Andrew B
Na minha experiência, isso não é incomum. Muitas operadoras usam 10.0.0.0/8 dentro de sua rede e expõem uma quantidade perturbadora.
Paul Engrenagem