Os interruptores de passagem do router são concessões de encaminhamento para um dispositivo atrás deles, não serviços VPN. Não inscrevem o router como cliente, não guardam credenciais nem empurram cada aparelho da casa por uma saída remota. O que fazem é moldar como um protocolo atravessa a tradução de endereços e os filtros. Assim que isso está claro, o interruptor torna-se fácil de testar e fácil de deixar desligado.

O que o router faz realmente

O router fica entre um cliente e um par IPsec e reencaminha pacotes que nunca foi concebido para compreender. Os fabricantes implementam a funcionalidade de pelo menos três maneiras: um auxiliar de protocolo que segue ou reescreve o estado, uma exceção de filtro que para de descartar ESP, ou um modo de compatibilidade destinado a clientes mais antigos. A etiqueta na interface web raramente diz qual das três tem. Só as notas do firmware ou uma captura de pacotes o dirão.

Um auxiliar também pode piorar as coisas. A ajuda escrita para um fluxo mais antigo às vezes interfere com um cliente que já trata a tradução corretamente. Quando um cliente moderno funciona com a opção desligada, deixá-la desligada é a melhor configuração.

A passagem nunca dá ao router as chaves dos pares. Continua a ver os endereços e as portas externas e continua a aplicar a sua própria política de reencaminhamento a eles.

NAT e NAT-T decidem o caminho

O IPsec não foi construído para sobreviver à tradução de endereços, por isso as normas acrescentaram um invólucro. O NAT traversal encapsula o ESP dentro de UDP, permitindo que uma tabela NAT comum transporte o fluxo, e a negociação acorda essa mudança durante o IKE (RFC 3948). O próprio IKE usa UDP 500, enquanto o caminho encapsulado usa normalmente UDP 4500.

É por isso que uma regra de firewall que só permite o protocolo 50 não basta num caminho traduzido. Bloquear 4500 quebra o caso para o qual o invólucro existe, e bloquear 500 trava a negociação antes de se formar qualquer túnel. Ambos os sentidos contam, porque um router com estado normalmente só permite a resposta depois de ter visto o pedido. Chegar a uma porta não é o mesmo que concluir a autenticação, nem que encaminhar tráfego protegido.

Os arranjos mais antigos diferem o suficiente para que um guia escrito para eles possa induzir em erro. Quando um cliente oferece os dois modos, teste o que o seu par documenta e não o que tem mais resultados de pesquisa.

Encontre a etapa que falha

Divida o problema em negociação, autenticação, proteção filha e encaminhamento interno, e depois reúna provas para uma etapa de cada vez. Um reinício que muda o resultado temporariamente só prova que algum estado estava envolvido.

sudo tcpdump -ni any 'udp port 500 or udp port 4500'
ip xfrm state list
ip xfrm policy list

A captura mostra se a troca chega ao par e se as respostas voltam, o que separa um problema de filtragem de um problema de credenciais. A lista de estados mostra as associações de segurança estabelecidas, por isso uma lista vazia após uma tentativa aponta para a negociação e não para o encaminhamento. A lista de políticas mostra quais seletores estão instalados, e é aí que um destino fora da sub-rede é excluído. Leia as duas saídas do xfrm antes de tocar no router, porque descrevem o que o anfitrião acredita e não o que o router permite.

Se os pacotes saem e não volta nada, mova a captura para o lado WAN do router. Comparar as duas capturas localiza o descarte sem adivinhar.

Desligue o que não precisa

Um único portátil a funcionar não prova que o router atenda vários clientes ao mesmo tempo. Cada cliente cria o seu próprio estado de tradução e a sua própria negociação, e alguns auxiliares seguem apenas um fluxo. Teste o número de sessões simultâneas de que realmente precisa, a partir das redes que realmente usa. Se o segundo cliente falhar enquanto o primeiro prospera, essa é a descoberta e não um túnel instável.

Deixe a opção ativa apenas quando uma captura mostrar que é necessária. Anote a versão do firmware ao lado do resultado, porque estes comportamentos mudam entre versões. O objetivo é um túnel de cliente que tenha verificado, não um interruptor ligado com esperança.

Artigos relacionados