A impressora da mesa continua a funcionar depois de o túnel subir, enquanto um servidor do outro escritório se resolve em silêncio para algo local. Os dois comportamentos vêm da mesma regra: vence a rota mais específica, e um prefixo conectado diretamente é o mais específico possível. Normalmente é o desenho que quer, e é também assim que um intervalo privado duplicado rouba um endereço remoto. Ler primeiro a escolha do kernel transforma uma falha misteriosa numa comparação de prefixos.

Um prefixo conectado é mais específico que uma rota padrão

Um túnel normalmente instala uma rota padrão ou um conjunto de prefixos, enquanto uma interface local carrega um prefixo conectado mais uma rota para toda a LAN. Entre as duas decide a correspondência do prefixo mais longo, portanto um destino dentro do prefixo da LAN nunca chega ao túnel. Por isso uma impressora, a página de administração de um router e um NAS local continuam acessíveis enquanto a VPN está ativa. Por isso também um recurso remoto dentro de um intervalo sobreposto vai para a máquina errada.

O espaço de endereços privados não é único, e que dois locais escolham o mesmo prefixo é comum o suficiente para se planear. Quando os intervalos se sobrepõem, a resposta local chega depressa e parece autoritária, por isso a falha é facilmente lida como um problema de início de sessão. O destino respondeu, só que não era o que querias.

Leia a escolha que o kernel faria

Pergunte ao kernel que rota usaria para o destino exato em vez de ler a tabela de cima. Depois procure regras de política que possam escolher outra tabela. Dois comandos respondem às duas perguntas em poucos segundos.

ip route get 10.20.30.41
ip route show table all | grep -E '10\.|default'
ip rule show

A primeira saída indica a interface, o salto seguinte e o endereço de origem que o kernel usaria, e essa é a resposta que importa. Um valor dev que aponta para a ponte local significa que o pacote nunca entra no túnel, diga o que disser o painel de estado do cliente VPN. A listagem filtrada de tabelas mostra se outra tabela contém o mesmo prefixo, e a lista de regras mostra a ordem em que essas tabelas são consultadas. Uma regra de política pode enviar um prefixo por uma tabela específica mesmo quando a tabela principal não concorda, portanto essa ordem faz parte da resposta.

O acesso local é uma permissão separada

Ter uma rota não é o mesmo que ter permissão para a usar. A maioria dos clientes consegue bloquear a comunicação de rede local enquanto o túnel está ativo, e essa definição é uma decisão de política, não um artefacto de encaminhamento. Quando um serviço próximo de confiança faz parte do desenho, ativa a opção de acesso local suportada em vez de inventar rotas. Quando o dispositivo está numa Wi-Fi pública, deixa-a desligada.

As duas camadas falham de forma diferente. Um caminho local bloqueado produz um tempo limite mesmo que a rota exista, enquanto uma rota sobreposta produz uma resposta do host errado. Distingui-las custa uma consulta e poupa uma tarde de alterações de firewall, e a disposição do encaminhamento está descrita em as notas de encaminhamento do strongSwan.

Corrija uma sobreposição sem acumular rotas de host

Uma rota de host para um endereço parece corrigir uma sobreposição e falha no momento em que é preciso um segundo endereço do mesmo intervalo. Vinte delas depois, ninguém consegue dizer qual prefixo é autoritativo. As soluções duradouras são uma mudança de endereçamento, uma topologia documentada que evite o intervalo duplicado ou uma tradução numa das pontas. Cada uma custa tempo de planeamento uma vez em vez de manutenção para sempre.

Se uma rota de host temporária for mesmo necessária, anota ao lado o motivo, o responsável e a data para que possa ser removida mais tarde. Depois testa o endereço e o serviço exatos mais um destino público, porque uma alteração de acesso local que exclua em silêncio aplicações não relacionadas do túnel é pior do que a falha original. Mantém o prefixo local e o prefixo remoto escritos em separado; esse hábito impede que um ping local a funcionar circule como prova de que o escritório remoto é acessível.

Artigos relacionados