Tenho uma máquina virtual executando o Windows Server 2019, que é um servidor de terminal com muitas interfaces de rede. Na verdade, é um tronco, que está sendo configurado para muitas interfaces VLAN, levando a tantas interfaces - mas isso não deve importar para minha pergunta. Agora, chegando à parte estranha:
PS C:\Users\XXXX> netstat -n | findstr "192.168.4.80:445"
TCP 10.0.200.90:49531 192.168.4.80:445 ESTABLISHED
TCP 10.0.200.90:49532 192.168.4.80:445 ESTABLISHED
TCP 10.0.200.90:49533 192.168.4.80:445 ESTABLISHED
TCP 10.0.200.90:49534 192.168.4.80:445 ESTABLISHED
TCP 192.168.4.90:49528 192.168.4.80:445 ESTABLISHED
TCP 192.168.4.90:49529 192.168.4.80:445 ESTABLISHED
TCP 192.168.4.90:49530 192.168.4.80:445 ESTABLISHED
TCP 192.168.4.90:55959 192.168.4.80:445 ESTABLISHED
Ambas as interfaces em questão aqui são configuradas com uma /24
máscara de rede - e a 10.0.200.90/24
interface contém o gateway padrão. A tabela de roteamento é bastante grande, pois há muitas interfaces, mas não há rotas conflitantes para a sub-rede 192.168.4.0/24. Aqui estão as partes relevantes:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.200.250 10.0.200.90 271
10.0.200.0 255.255.255.0 On-link 10.0.200.90 271
10.0.200.90 255.255.255.255 On-link 10.0.200.90 271
10.0.200.255 255.255.255.255 On-link 10.0.200.90 271
192.168.4.0 255.255.255.0 On-link 192.168.4.90 271
192.168.4.90 255.255.255.255 On-link 192.168.4.90 271
192.168.4.255 255.255.255.255 On-link 192.168.4.90 271
===========================================================================
Como é possível que algumas conexões estejam sendo enviadas através do gateway padrão e algumas conexões sigam a rota de interface adequada? Percebi isso no firewall (o gateway padrão), dentro do log do filtro de pacotes, então isso não é apenas um problema de exibição, alguns pacotes realmente estão sendo enviados pelo gateway padrão - E verifiquei através do monitor de recursos, as conexões pertencem a PID 4 (Sistema), que provavelmente são as unidades de rede mapeadas.
Pelo que sei sobre roteamento, a métrica só é levada em consideração se houver duas rotas com a mesma sub-rede - nesse caso, a rota com a métrica mais baixa venceria. Mas a rota do gateway padrão nunca deve vencer uma rota de interface, não importa qual métrica esteja configurada - correto?
Meu primeiro pensamento foi que isso deveria ser um bug dentro do Windows - talvez uma condição de corrida entre o processo que ativa a interface e o processo que mapeia a unidade de rede. Mas isso é pura especulação, eu esperava que alguém pudesse me esclarecer com uma visão mais profunda...
Isso depende totalmente da conexão. As conexões podem ser avaliadas em termos de velocidade do link, contagem de saltos ou atraso de tempo. "Métrica Automática" é um novo recurso do Windows que configura automaticamente a métrica para as rotas locais baseadas na velocidade do link.
O recurso Métrica Automática está habilitado por padrão e também pode ser configurado manualmente para atribuir uma métrica específica.
No Windows Server 2016 e no Windows 10, você pode usar a métrica de interface para configurar a ordem das interfaces de rede .
Isso é diferente dos servidores Windows anteriores, que permitiam configurar a ordem de ligação dos adaptadores de rede usando a interface do usuário ou os comandos
INetCfgComponentBindings::MoveBefore
(e[...]::MoveAfter
). Este não é mais o caso (a partir do Server 2016).Em vez disso, você pode (leia-se "é necessário") configurar a métrica da interface usando
Set-NetIPInterface
.Quando as rotas de tráfego de rede são escolhidas, a métrica geral é usada para determinar a preferência da interface – que é a soma da métrica da rota e da métrica da interface. Normalmente, a métrica de interface dá preferência a uma interface específica, como usar com fio se tanto com fio quanto sem fio estiverem disponíveis.
Embora isso seja totalmente possível, bugs no bem instalado IP-Stack da Microsoft são extremamente raros atualmente. Pense nisso: em um sistema que precisa ser determinístico em todas as circunstâncias (pense no hiper-V), tal condição seria catastrófica desde o primeiro dia.