Noções básicas sobre tabelas de roteamento do Windows e gateways padrão

12

Nota: Este é o meu laboratório de informática em casa e não um ambiente de negócios / produção. Fico feliz em quebrá-lo e corrigi-lo novamente, para que todas as sugestões sejam bem-vindas!

RESUMO

Adicionei este resumo rápido porque esta pergunta está ficando bastante longa. Se você quiser obter mais detalhes sobre tabelas de roteamento, configurações de IP etc., veja abaixo.

Eu tenho algumas placas de rede em um computador. Uma NIC é 172.16.200.1 / 24. Quando tento executar o ping 172.16.200.2 (um host existente na rede), recebo uma resposta. Por enquanto, tudo bem.

Quando tento conectar-me ao 172.16.200.5 (ou a qualquer outro host que não exista), o computador volta à minha rota padrão (0.0.0.0 através do meu gateway padrão 192.168.0.1) - isso será enviado por meu roteador doméstico, onde se perde em um loop de roteamento na minha rede ISPs. Muito mais detalhes são dados abaixo, se necessário, mas suponho que exista um guru por aí que possa responder isso já ...

Minha pergunta é:

Como faço para impedir que meu computador volte ao gateway padrão de uma rede privada quando não há resposta de um host nessa rede. Essas redes privadas já possuem rotas explícitas com métricas mais baixas.

Eu testei isso em algumas máquinas (Server 2008 R2, Windows 7, Hyper-V Server 2012 R2, Windows Server 2012) e todas elas se comportam da mesma maneira. Estou começando a aceitar que esse é 'comportamento normal' para máquinas Windows, mas estou curioso para saber se pode ser interrompido.

Criei uma VM do Ubuntu com a mesma configuração das minhas VMs do Windows - a VM do Ubuntu não volta à rota padrão como as VMs do Windows. Adicionei as tabelas de roteamento e os resultados para a VM do Ubuntu e a Windows 8.1 VM na parte inferior desta postagem.

DETALHES ADICIONAIS

Eu fiz uma pesquisa extensiva sobre esse assunto e a pergunta mais próxima que eu já vi está aqui: Loop de roteamento: TTL expirou em trânsito , mas infelizmente não responde como parar o problema ou alterar o comportamento no computador. A resposta sugere corrigir o roteamento. Posso mudar meu roteador para largar tudo destinado a endereços IP privados (ou encaminhá-lo para os IPs dos meus colegas de casa, hehehe), mas isso não muda o comportamento do meu computador. (Também li o ótimo guia de sub-rede que foi referência na resposta original, que pode ser encontrada em https://serverfault.com/questions/49765/how-does-ipv4-subnetting-work )

Estou tendo problemas para entender por que meus computadores tentam se conectar a endereços IP privados pela Internet depois que tentam usar seus adaptadores internos (por um curto período) e depois falham - por exemplo, ao tentar executar ping em um host que eu conheço não existe na minha rede…

Pinging 172.16.200.32 with 32 bytes of data:
Reply from 172.16.200.1: Destination host unreachable.
Reply from 203.29.XXX.YY: TTL expired in transit.
Reply from 203.29.XXX.YY: TTL expired in transit.
Reply from 203.29.XXX.YY: TTL expired in transit.

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

Mas executar ping em um host que existe funciona ...

Pinging 172.16.200.2 with 32 bytes of data:
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128
Reply from 172.16.200.2: bytes=32 time<1ms TTL=128

Ping statistics for 172.16.200.2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

OK, então a resposta do 172.16.200.1 é meu computador dizendo nenhuma resposta foi recebida ... mas então, por que ele ainda tenta se conectar a minha conexão com a internet? Eu tenho 4 placas de rede e estou na rede 172.16.200.0 / 24 em uma delas…

Ethernet adapter HyperV External (built in):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::582c:97
   IPv4 Address. . . . . . . . . . . : 172.16.1.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Ethernet adapter Expansion-2 (middle) HomeNetwork:

   Connection-specific DNS Suffix  . : Home
   IPv4 Address. . . . . . . . . . . : 192.168.0.117
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1

Ethernet adapter Expansion-3 (bottom) iSCSI-1 :

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 172.16.100.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Ethernet adapter Expansion-1 (top) iSCSI-2:

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 172.16.200.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Então, neste momento, faria sentido olhar para a tabela de roteamento ...

===========================================================================
Interface List
 16...64 70 02 00 1f 03 ......Gigabit PCI Express Network Adapter #2
 15...64 70 02 00 40 48 ......Gigabit PCI Express Network Adapter
 23...00 24 1d 1d f8 35 ......TST Onboard
 17...64 70 02 00 32 c1 ......Gigabit PCI Express Network Adapter #3
  1...........................Software Loopback Interface 1
 28...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 26...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 27...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
 29...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.117    410
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
       172.16.1.0    255.255.255.0         On-link        172.16.1.1    266
       172.16.1.1  255.255.255.255         On-link        172.16.1.1    261
     172.16.1.255  255.255.255.255         On-link        172.16.1.1    261
     172.16.100.0    255.255.255.0         On-link      172.16.100.1    266
     172.16.100.1  255.255.255.255         On-link      172.16.100.1    266
   172.16.100.255  255.255.255.255         On-link      172.16.100.1    266
     172.16.200.0    255.255.255.0         On-link      172.16.200.1    266
     172.16.200.1  255.255.255.255         On-link      172.16.200.1    266
   172.16.200.255  255.255.255.255         On-link      172.16.200.1    266
      192.168.0.0    255.255.255.0         On-link     192.168.0.117    266
    192.168.0.117  255.255.255.255         On-link     192.168.0.117    266
    192.168.0.255  255.255.255.255         On-link     192.168.0.117    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.0.117    266
        224.0.0.0        240.0.0.0         On-link      172.16.100.1    266
        224.0.0.0        240.0.0.0         On-link      172.16.200.1    266
        224.0.0.0        240.0.0.0         On-link        172.16.1.1    261
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.0.117    266
  255.255.255.255  255.255.255.255         On-link      172.16.100.1    266
  255.255.255.255  255.255.255.255         On-link      172.16.200.1    266
  255.255.255.255  255.255.255.255         On-link        172.16.1.1    261
===========================================================================
Persistent Routes:
  None

Primeiro pensei que a métrica da rota 0.0.0.0 fosse a culpada - ela era originalmente 6, então tentei alterá-la para 410, o que não mudou o comportamento. (A propósito, eu nunca mexi com a tabela de roteamento nesta máquina antes). Comparei-o com uma máquina Hyper-V 2012 R2 que tenho em 3 das mesmas redes (172.16.1.0, 172.16.100.0 e 172.16.200.0) e notei que a máquina Hyper-V também possui uma métrica de 6 para o valor 0.0 .0.0, então acho que isso é normal e correto…

Tentei alterar o 172.16.200.0 para ser uma rota persistente, como abaixo, mas ainda não funcionou.

===========================================================================
Persistent Routes:
  Network Address          Netmask  Gateway Address  Metric
       172.16.200.0  255.255.255.0       172.16.1.1       1
===========================================================================

Eu também tentei aumentar a métrica (eu sei que quanto mais baixo é mais preferido, mas apenas no caso, não é?)… É claro, sem sorte.

Nas "Configurações avançadas" na janela Conexões de rede, confirmei que o adaptador 192.168.0.117 é o mais baixo na ordem de adaptadores e ligações…

Então, depois de bater um pouco na cabeça, estou perplexo. Obviamente, excluir a rota 0.0.0.0 a interrompe, mas é claro que também interromperá minha internet…

Como diabos posso parar minha máquina de tentar acessar meu gateway padrão 192.168.0.1 quando tenta acessar um host em 172.16.200.0…

http://technet.microsoft.com/en-us/library/cc779122%28v=ws.10%29.aspx ("A tabela de roteamento IP: TCP / IP") parece sugerir que "A rota padrão normalmente encaminha um Datagrama IP (para o qual não há rota local correspondente ou explícita) para um endereço de gateway padrão para um roteador na sub-rede local. " Quanto mais explícito posso ficar com essa rota!

A resposta aqui, gateway de rota persistente do Windows indisponível, portanto, a rota padrão usada sugere que este é um comportamento normal - quando uma rota persistente é adicionada, ele tenta usar essa rota, se possível, mas volta à rota padrão quando isso falhar. Certamente isso pode apresentar alguns problemas de tráfego bastante sérios, sem mencionar problemas de segurança (informações privadas vazando na Internet ou pelo menos as redes privadas de seus provedores ...)

Algumas informações adicionais: Este servidor executa o NPS / RRAS normalmente - desativá-lo e até removê-lo não fez nada. Além disso, criei uma nova VM 2008 R2, dei duas NICs, uma diretamente na rede 192.168.0.0 e a outra na rede 172.16.200.0 e fiz a mesma coisa ... Espero que você possa dizer que tenho passou um pouco de tempo nisso.

Eu configurei meu roteador doméstico para encaminhar todos os itens 172.16.XX de volta ao meu próprio computador, mas isso é uma solução alternativa…

Falta alguma coisa? Algo óbvio, talvez? Estou perguntando o impossível?

[ATUALIZAÇÃO # 1 E # 2]

Examinei todos os bits de configuração do meu roteador e ele não parece lidar com nenhuma solicitação de proxy ARP - nem sequer possui configurações que eu possa ver.

Usei o MS Network Monitor 3.4 para testar se as solicitações de ARP estão sendo respondidas pelo roteador e não. Posso ver a solicitação do ARP sendo enviada quando tento executar ping em um host inexistente e não recebo nenhuma resposta do ARP. O ping de um host que existe, naturalmente, me dá uma resposta ARP. É seguro supor, neste momento, que meu roteador não esteja manipulando solicitações de proxy ARP?

A tabela de roteamento no roteador foi da seguinte maneira:

 > route show
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.20.21.36     *               255.255.255.255 UH    0      0        0 ppp0
192.168.0.0     *               255.255.255.0   U     0      0        0 br0
default         *               0.0.0.0         U     0      0        0 ppp0

Eu adicionei essas entradas abaixo como uma medida temporária de interrupção de intervalo - impede que meus pacotes "perdidos" pobres acessem meu ISP:

172.16.1.0      192.168.0.117   255.255.255.0   UG    1      0        0 br0
172.16.100.0    192.168.0.117   255.255.255.0   UG    1      0        0 br0
172.16.200.0    192.168.0.117   255.255.255.0   UG    1      0        0 br0

[ATUALIZAÇÃO # 3 - Adicionadas tabelas de roteamento de VMs Ubuntu e Win8.1]

OK, então criei uma nova VM do Ubuntu e uma nova VM do Windows 8.1. A VM do Ubuntu não tenta voltar à rota 0.0.0.0, mas o Windows 8.1 o faz. Tentei o antigo host ping-a-inexistente e observei o tráfego no roteador 172.16.1.1. Ele recebe as solicitações de ICMP da VM do Windows 8.1 e as transmite, mas nunca vê nenhum tráfego de ICMP da VM do Ubuntu.

A tabela da VM do Ubuntu está abaixo:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt
0.0.0.0         172.16.1.1      0.0.0.0         UG    0      0        0 eth0     0     0      0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1     0     0      0
172.16.1.0      0.0.0.0         255.255.255.0   U     1      0        0 eth0     0     0      0
172.16.200.0    0.0.0.0         255.255.255.0   U     1      0        0 eth1     0     0      0

A tabela do Windows 8.1 está abaixo:

===========================================================================
Interface List
  9...00 15 5d 01 4c 1c ......Microsoft Hyper-V Network Adapter #2
  3...00 15 5d 01 4c 08 ......Microsoft Hyper-V Network Adapter
  1...........................Software Loopback Interface 1
  4...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 13...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0       172.16.1.1     172.16.1.101      5
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
       172.16.1.0    255.255.255.0         On-link      172.16.1.101    261
     172.16.1.101  255.255.255.255         On-link      172.16.1.101    261
     172.16.1.255  255.255.255.255         On-link      172.16.1.101    261
     172.16.200.0    255.255.255.0         On-link      172.16.200.1    261
     172.16.200.1  255.255.255.255         On-link      172.16.200.1    261
   172.16.200.255  255.255.255.255         On-link      172.16.200.1    261
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link      172.16.1.101    261
        224.0.0.0        240.0.0.0         On-link      172.16.200.1    261
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link      172.16.1.101    261
  255.255.255.255  255.255.255.255         On-link      172.16.200.1    261
===========================================================================
Persistent Routes:
  None
Gund
fonte
1. O seu roteador / firewall executa ARP proxy para o (s) seu (s) espaço (s) de endereço interno (s)? 2. Como é a tabela de roteamento no seu roteador / firewall?
joeqwerty
11
Se você deseja impedir a saída de pacotes espaciais do RFC 1918, apenas nula as rotas 10/8, 172.16 / 12 e 192.168 / 16 (ou direcione-as de volta à sua LAN). Ausência de acordos especiais em que esses pacotes não devem entrar / sair da rede de qualquer maneira. Embora eu não tenha certeza de que essa é a melhor abordagem (ela pode quebrar as coisas de alguma outra maneira).
a CVn 28/03
Considerando quais versões do Windows você está falando e o tom geral desta postagem, suponho que você esteja em um ambiente corporativo; nesse caso, convém sinalizar esta postagem para atenção do moderador e solicitar a migração para a falha do servidor .
a CVn 28/03
Olá Michael, obrigado pela resposta. Adicionei rotas para 10/8, 172.16 / 12 e 192.168 / 16 no meu roteador para voltar ao meu computador (192.168.0.117) para que não sejam enviadas pela Internet. Estou curioso se isso é algo que todo roteador precisa ter configurado? Além disso, devo esclarecer que este é o meu laboratório em casa e não um ambiente corporativo ou comercial. Só estou usando para estudar.
Gund 28/03

Respostas:

2

O failback para a rota padrão é um comportamento normal desde o Vista, você pode ler sobre isso no seguinte artigo: Seleção do endereço IP de origem em um computador Windows com várias residências .

Problema de loop causado por roteador mal configurado, que envia pacotes de volta usando sub-rede diferente, em vez de descartá-los.

mtm
fonte
As respostas do link apenas se tornam inúteis se o link for desativado. Por favor, explique como resolver o problema enquanto ainda cita a fonte.
Raystafarian
Desculpe, adicionou alguns detalhes.
mtm
11
Oi, desculpe pela resposta tardia, mas muito obrigado por esse link MTM! Ele descreve por que estou vendo esse comportamento em particular e me deu um bom ponto de partida para pesquisar sobre a mudança.
precisa