A requisição chega, o servidor a registra e o cliente ainda relata um tempo esgotado. Essa combinação significa que a resposta não encontrou o caminho de volta, e é uma das poucas falhas que você pode confirmar pelas duas pontas ao mesmo tempo. Faça as verificações em ordem e pare quando uma delas falhar.

Comece por onde a requisição chegou

Confirme que o pacote chegou ao serviço antes de inspecionar qualquer outra coisa. Um registro no log do servidor, um contador de conexões ou uma captura permitida na ponta remota respondem à mesma pergunta, e a ausência deles devolve você ao túnel em vez de levar adiante até a resposta. Esta é a verificação que separa um problema de encaminhamento de um problema de caminho de volta.

Se a requisição nunca chegou, pare aqui. O túnel, o roteamento para o prefixo privado ou a regra de acesso são o assunto, e o caminho da resposta ainda não é relevante. Anote também o endereço de origem que o servidor viu. É ou o endereço do pool que o cliente recebeu ou um endereço traduzido, e essa diferença determina qual das verificações seguintes se aplica.

A resposta precisa de uma rota até o pool

Um cliente de acesso remoto costuma receber um endereço de um pool, e a rede privada precisa de uma rota de volta até esse pool. Um servidor cuja rota padrão aponta para o próprio gateway entrega o pacote a esse gateway, que não faz ideia de onde fica o pool, e a resposta morre ali. O cliente vê um tempo esgotado porque nada voltou, o que é indistinguível de uma requisição que nunca saiu.

Verifique a rota que o servidor escolhe para o endereço do cliente, não a rota que usa para a própria sub-rede. Essas duas consultas podem dar respostas diferentes, e a segunda é a que importa aqui. A tradução é o desenho alternativo e muda o que o servidor vê. Ela pode simplificar um caminho de volta, e também remove o endereço original do cliente dos logs do servidor, o que afeta qualquer regra ou relatório construído sobre esse campo.

Compare a captura no servidor com a captura no gateway

Compare o que sai do servidor com o que chega ao gateway. Uma captura na interface de saída do servidor e uma captura no gateway do túnel respondem a metades diferentes da pergunta, e a lacuna entre elas localiza a perda.

ip route get 10.90.0.14
tcpdump -ni any host 10.90.0.14 and port 443
ip route show table all | grep 10.90.0.0
Where the reply stopsWhat it proves
Request in the server log, nothing on its outbound captureThe server picked a gateway that cannot reach the pool
Reply leaves the server but never shows up at the gatewayLoss on the LAN path, not on the tunnel
Reply reaches the gateway but not the clientReturn translation or tunnel policy, not the server route

Uma requisição gerada pelo próprio gateway é um substituto ruim para um teste a partir do cliente, porque se origina de outro endereço e encontra outras regras. Por isso um ping bem-sucedido a partir do gateway e uma requisição malsucedida a partir do cliente podem ser verdadeiros ao mesmo tempo.

Quando há vários roteadores no caminho, verifique cada um que precise de uma rota até o pool. Um desenho site a site costuma exigir que o prefixo remoto seja conhecido em mais de um dispositivo, e o próprio gateway tem de encaminhar entre o túnel e a LAN; as notas de encaminhamento do strongSwan cobrem o lado de sysctl e de firewall disso.

Anote o pool, o prefixo e o responsável

Na nota entram quatro fatos: o pool que o cliente recebeu, o prefixo privado de que precisava, o roteador responsável pela resposta e a regra de tradução se houver. Com eles, uma mudança posterior de gateway é uma comparação e não uma investigação.

Depois teste novamente com um cliente comum e a conta real da aplicação. Ampliar os privilégios da aplicação não conserta o caminho de volta de um pacote, e uma mudança de conta feita durante este diagnóstico vai confundir a próxima comparação. Se o desenho depende de tradução, documente-a onde se leem os logs do servidor. Quem vê um endereço de origem desconhecido numa trilha de auditoria não deveria ter de redescobrir o mapeamento a partir de um chamado.

Artigos relacionados