A SA filla de IPsec está activa, pero os contadores de paquetes seguen a cero
Unos contadores de paquetes a cero nunha SA filla instalada adoitan significar que nada coincidiu con ela. Seguide un fluxo fixado polos contadores, a ruta, os selectores e a orixe.
Levantou o túnel, o temporizador de renovación de claves vai descontando e ambas as direccións seguen marcando cero paquetes. Ese par de cifras non di que o par rexeitase o seu túnel: unha CHILD SA instalada con contadores inactivos é o estado normal dunha asociación coa que aínda non coincidiu nada. O traballo consiste en demostrar que un paquete debería ter coincidido e despois localizar o punto no que abandonou a ruta que describen os selectores. Fagao unha vez, en orde, e manteña a petición idéntica entre execucións.
Que demostra realmente un contador a cero
Unha CHILD SA é un par de selectores máis as claves e os SPI que cifran o tráfico que cae dentro deses rangos. Instalala só significa que ambos os pares acordaron eses rangos e as claves derivadas; o núcleo manteraa durante horas sen que chegue un só paquete. Por iso a pregunta nunca é se o túnel existe, senón se algún paquete da súa proba caeu dentro dos rangos que negociaron os dous pares. Se non caeu ningún, os contadores quedan a cero e a asociación caduca sen usarse ao final da súa vida.
Esa distinción cambia que inspecciona primeiro. Unha proposta rexeitada, un fallo de autenticación ou unha IKE SA moribunda aparecen no rexistro ou na lista de SA, non como un cero silencioso. Un túnel que negocia limpiamente e despois queda inactivo apunta pola contra á coincidencia, o encamiñamento ou a orixe do tráfico de proba.
Envíe un fluxo que poida describir antes de envialo
Escolla un destino dentro da subrede protexida e abra unha conexión nova cara a el; unha páxina que cargou hai unha hora pode servirse dende a caché, e unha resposta na caché nunca toca o túnel. Despois anote catro valores mentres a petición aínda é hipotética: o enderezo de orixe que vai vincular a aplicación, o destino, a familia de enderezos e o nome ou par de selectores da filla que está a observar. Ese rexistro é o que converte un contador plano nunha afirmación comprobable.
O enderezo de orixe é o valor que a xente omite e é o que máis a miúdo rompe a proba. Un portátil cun enderezo por cable, un enderezo Wi-Fi e un enderezo de túnel pode vincular calquera deles segundo a consulta de ruta, e só un pode estar dentro do rango negociado. Use unha ferramenta que lle permita fixar a orixe, como ping -I 10.1.0.5 10.2.0.9 ou curl --interface 10.1.0.5, para que o paquete non poida escoller en silencio outro enderezo. Cando a execución fixada move os contadores e a non fixada non, atopou un problema de encamiñamento e non un problema de IPsec.
Que cifras ler e onde viven
En Linux, ip -s xfrm state imprime cada asociación cunha liña lifetime current: cuxo total de bytes e de paquetes pertence só a esa SA, seguida dunha liña stats: para os contadores de repetición e de erros. Nun par con strongSwan, swanctl --list-sas mostra unha liña in e unha liña out por cada filla instalada, e cada unha remata cun reconto de bytes e de paquetes; as ferramentas stroke máis antigas chaman ao mesmo par bytes_i e bytes_o. Lea as dúas direccións por separado, porque a que quedou plana é o achado. Sumalas oculta xusto a asimetría que busca.
Ambas as vistas son por asociación, así que unha renovación instala un par de SPI novo e a súa liña base volve a cero sen que nada estea roto. Anote o SPI que está a observar antes de que dispare o temporizador de renovación, ou comparará unha SA nova cunha cifra vella. Se a saída sobe mentres a entrada queda plana, o selector coincidiu e a resposta nunca volveu, o que traslada a investigación ao reenvío do par e á súa propia política. A documentación de configuración de IKEv2 de strongSwan cobre o ciclo de vida da SA filla e o momento da renovación detrás desas cifras.
O punto de observación é unha variable distinta da orixe do paquete. Unha descarga por hardware pode incrementar os contadores da asociación mentres unha captura de software na interface non mostra nada, porque os paquetes descargados saltan o gancho onde se asenta a captura, e a entrada pode diverxir da mesma maneira. Cando os dous non coinciden, use os contadores para responder se algo coincidiu e a captura para responder como era o paquete.
Ruta, selectores e onde naceu o paquete
Compare tres cousas lado a lado: a ruta que escolle o núcleo para o seu destino, a política que dirixe o tráfico cara ao túnel e o par de selectores que negociou a filla. ip route get 10.2.0.9 from 10.1.0.5 nomea a interface e a orixe que usaría o núcleo, que a miúdo non é o par que vostede supuxo. ip xfrm policy mostra os modelos e os selectores instalados localmente, mentres que swanctl --list-sas mostra o que aceptou o par. Unha consulta que envía o paquete pola interface física non chega nunca á política, así que os contadores non poden moverse.
As discrepancias chegan en varias formas que dende un contador parecen idénticas. Un destino IPv6 fóra dun selector IPv4, un enderezo de orixe da subrede equivocada e unha política máis estreita que a filla producen o mesmo cero. Corrixa primeiro a causa máis estreita, porque ensanchar un selector só para mover unha cifra cambia o que o túnel protexe.
Logo está a orixe do paquete, a trampa que unha pasarela pon ao seu propio operador. O tráfico que xera a propia pasarela compárase coa política de saída, mentres que un paquete que reenvía para un cliente compárase coa política de reenvío, así que un ping dende a máquina pode ter éxito nunha ruta que ningún cliente toma nunca.
Un cambio reversible e un informe que sobrevive á revisión
Cambie un só elemento, repita a petición idéntica e lea os mesmos contadores. Borrar todas as regras da devasa ou substituír todos os selectores á vez moverá unha cifra e destruirá a evidencia que lle dixo por que. Se a segunda execución aínda mostra cero, eliminou unha hipótese en lugar de desperdiciar a tarde.
Escriba o achado nunha forma que outra persoa poida reproducir: nome da filla, rangos aceptados, a orixe que fixou, o destino que probou, a dirección que quedou a cero e o SPI que estaba a ler. Esa frase separa unha asociación que ninguén usou dunha aplicación remota que recibiu o tráfico e rexeitouno. Reverta o cambio cando non moveu os contadores e conserve o rexistro; a seguinte persoa comeza onde vostede parou. Non houbo que reconstruír nada do túnel para todo isto, e ese é o sentido de comprobar a coincidencia antes de tocar a configuración.