A sua SA IKEv2 está ativa mas não existe SA filha: leia a troca
A autenticação pode terminar enquanto a negociação da SA filha falha. Leia a troca de criação da SA filha, depois a proposta e os seletores, antes das rotas ou dos contadores.
O IKE diz que o túnel está ativo, que a SA filha falta, e ambas as afirmações podem ser verdadeiras ao mesmo tempo. Uma relação de controlo estabelecida não é uma associação de dados, e os dois objetos têm vidas, negociações e modos de falha separados. Comunicar o primeiro como conectividade é como um pedido acaba a afirmar que o túnel está ativo quando nada funciona. Leia a lista de associações em vez da etiqueta de resumo da ligação, porque essa lista é o único lugar onde o objeto em falta é visível. O que se segue é a ordem em que a lista faz sentido.
Duas associações, duas tarefas
Uma SA IKE transporta o canal de controlo: identidades, chaves e as propostas para a própria troca de controlo. Uma SA filha transporta a proteção ESP, com os seus próprios algoritmos e os seus próprios seletores de tráfego. A autenticação e a criação da SA filha andam normalmente juntas, porque a primeira SA filha é negociada dentro do IKE_AUTH, e é exatamente esse agrupamento que surpreende as pessoas com a separação.
Isto também explica as duas formas de falha que vai encontrar. Uma SA filha rejeitada durante a troca inicial normalmente leva a SA IKE consigo, por isso não vê nenhum canal de controlo estabelecido. Uma SA IKE sozinha significa mais frequentemente que a primeira SA filha teve êxito e que uma tentativa posterior de criar uma SA filha falhou, por exemplo durante uma renovação de chaves. Os carimbos de tempo separam esses casos mais depressa do que qualquer revisão da configuração.
Que camada recusou
Quando uma SA filha é rejeitada, a notificação nomeia a camada. Uma rejeição da proposta significa que as partes não conseguiram concordar sobre algoritmos, muitas vezes porque uma exige um grupo de sigilo perfeito para a frente diferente ou uma cifra que a outra não aceitará. Uma rejeição do seletor significa que o conjunto de tráfego foi recusado de imediato, e isso é um argumento de cobertura, não criptográfico.
Por vezes a ausência de SA filha é o desenho. Uma SA IKE sem SA filha é uma extensão definida usada onde a associação de dados deve ser criada a pedido, por isso a ausência está correta e a SA filha aparece quando chega tráfego correspondente. As notas do strongSwan sobre IKEv2 cobrem tanto o estilo a pedido como as definições da proposta que decidem o primeiro caso.
Verifique se existe uma configuração a pedido ou de armadilha antes de diagnosticar uma falha. Se as SA filhas forem criadas de forma preguiçosa, a ausência de SA filha em repouso é o estado esperado e o teste real é se o tráfego levanta uma. Esse teste também separa um desenho preguiçoso de uma falha silenciosa, porque uma criação falhada deixa o gatilho sem resposta em vez de apenas em repouso.
Depois pergunte pelo caminho dos dados
Uma vez que exista uma SA filha, os contadores respondem à pergunta seguinte. ip -s xfrm state relata as contagens de pacotes e bytes por associação, e uma SA filha que não transporta nada enquanto gera tráfego aponta para correspondência ou encaminhamento em vez de a uma associação em falta. swanctl --list-sas imprime os seletores da SA filha ao lado desses contadores, e é isso que confirma que o pacote está dentro do conjunto aceite.
Mantenha a autenticação bem-sucedida e a troca falhada da SA filha separadas no relatório. Um relatório que diz que a autenticação falhou envia o próximo engenheiro para o armazém de certificados, e a frase exata é muito mais curta: a SA IKE subiu, e a SA filha para este fluxo nunca foi aceite.
Correlacione as duas pontas
Para um servidor que executa, obtenha os registos do cliente e da passagem para a mesma troca em vez de comparar duas tentativas de reconexão com uma hora de diferença. As notificações devem coincidir dos dois lados, e onde não coincidem encontrou o lado mal configurado.
Corrija a negociação da SA filha e depois teste novamente com tráfego dentro do seletor pretendido. É o único teste que prova que o objeto em falta está agora presente, porque uma lista de associações atualizada em repouso pode parecer idêntica antes e depois da correção.