Falha geral ao fazer ping a um endereço LAN com o cliente VPN ativo
O Windows diz que não consegue alcançar adaptador nenhum enquanto a tabela de rotas parece correta. Decida se o bloqueio é de encaminhamento, de filtragem ou do cliente.
Uma rota de host, um endereço, e o ping falha imediatamente com General failure em vez de o pedido expirar. Essa distinção é todo o diagnóstico. Uma expiração significa que o pacote saiu e que algo o ignorou. Falha geral significa que o Windows não conseguiu entregar o pacote a nenhuma interface desde o início.
Assim, quando a tabela de rotas parece perfeita e o erro continua a ser Falha geral, o bloqueio acontece abaixo da decisão de encaminhamento, e o cliente do fornecedor é o que opera ali.
Leia o erro antes da tabela de rotas
O Windows devolve esse erro quando não encontra uma interface por onde enviar, e não diz nada sobre o que o destino teria feito com o pacote. Alcance, firewalls do outro lado e disponibilidade do serviço são todas perguntas posteriores às quais ainda não chegou.
A configuração clássica para este caso é uma rota de host que aponta um único endereço LAN para a gateway física, para que contorne o túnel. route add aceita-a, route print mostra-a, e o ping continua a falhar, porque o controlador de filtragem já decidiu que o pacote não pode sair.
Antes de aceitar essa explicação, confirme que a rota está realmente a ser selecionada: verifique o índice da interface e a métrica, e certifique-se de que a entrada não está obsoleta após uma reconexão. Uma rota que aponta para uma interface que já não existe produz um erro semelhante por um motivo muito menos interessante.
Três camadas, três proprietários diferentes
Ganha a camada que é executada por último, e estas três não estão na ordem que a maioria assume.
| Layer | What it decides |
|---|---|
| Routing table | Which interface and next hop should carry the packet |
| Client filter driver | Whether this packet is permitted to leave outside the tunnel at all |
| Client feature | Whether a named feature, such as LAN blocking, is active right now |
A camada intermédia é a razão pela qual uma rota pode ser simultaneamente correta e inútil. Os clientes dos fornecedores instalam um filtro e regras de firewall para que o tráfego fora do túnel seja descartado, e é o mesmo mecanismo que implementa o seu interruptor de emergência. Nada na tabela de rotas participa nessa decisão.
A terceira camada explica um relato estranho que chega regularmente: a sub-rede local está inacessível mesmo depois de o cliente ser desligado. O serviço continua a correr e o filtro continua instalado, por isso não estar ligado não é o mesmo que não filtrar. Saia do cliente em vez de apenas o desligar antes de concluir alguma coisa.
O que tentar, por ordem
Comece por remover as funcionalidades que são baratas de remover e fáceis de restaurar. A descoberta de LAN, por vezes chamada invisibilidade na LAN, bloqueia o tráfego para intervalos de endereços privados para que a máquina permaneça escondida dos vizinhos. As impressoras, os servidores de ficheiros locais e o próprio router desaparecem atrás desse interruptor. As funcionalidades de proteção contra ameaças que filtram DNS instalam os seus próprios ganchos e são relatadas como quebrando o alcance local de forma muito semelhante.
Desative as duas, saia completamente do cliente e só depois teste o endereço. Essa sequência separa uma funcionalidade que bloqueia tráfego de um túnel que o encaminha mal, e leva dois minutos em vez de uma tarde de rotas estáticas.
ping 192.168.1.50
tracert -d 192.168.1.50
route print -4
Se o endereço responder depois de as funcionalidades estarem desligadas, tem uma decisão de política e não uma avaria: escolha entre deixar a funcionalidade desligada, acrescentar uma exceção ou aceitar que a máquina permaneça invisível na rede local.
Use a exceção do cliente, de forma estreita
Quando uma funcionalidade tem de permanecer ativa, o túnel dividido do próprio cliente é a saída suportada. Mantenha a exceção tão pequena quanto o requisito permitir, o que normalmente significa um endereço de host para um servidor ou um prefixo para um único segmento. Uma regra que cobre um intervalo privado inteiro é um buraco permanente que ninguém se lembrará de ter acrescentado e que ninguém ousará remover.
Depois verifique primeiro por endereço e só depois por nome. Se o endereço responder com um primeiro salto na gateway física, a exceção funciona. Se o nome continuar a falhar, passou para o DNS, porque o resolver do túnel não conhece a zona local e nenhuma alteração de encaminhamento lhe ensinará.
Mantenha a rota ou a exceção, não ambas, mais uma nota sobre qual está a fazer o trabalho. Dois mecanismos sobrepostos escondem-se um ao outro, e a próxima pessoa que depurar esta máquina removerá um deles e não verá qualquer alteração.
Quando o cliente é o obstáculo
Algumas compilações filtram o tráfego de formas que nem uma rota estática nem uma exceção do cliente conseguem vencer. Quando essa é a conclusão, as opções honestas são esperar pela funcionalidade de contorno ou ligar-se com um cliente OpenVPN simples usando o perfil do próprio fornecedor, como recomendava a resposta do suporte do fabricante no relatório original.
Compreenda a troca antes de fazer essa substituição. Um perfil simples comporta-se como qualquer túnel comum: instala as suas rotas e não reestrutura o resto da pilha, por isso uma rota de host estreita continua a comportar-se como espera. O que perde é tudo o que o cliente de marca implementou à volta do túnel, incluindo o interruptor de emergência e a filtragem de DNS, e isso tem de ser reproduzido de propósito ou aceite como ausente.
Escolha o que escolher, registe qual camada era dona do bloqueio. Um pacote que nunca saiu da máquina é um resultado do filtro, e nenhuma alteração de encaminhamento consegue reparar um filtro.