Dous teléfonos, un perfil e un patrón que parece sobrenatural ata que alguén mira a pasarela. Un dispositivo mantén o túnel, o segundo conéctase e o primeiro pérdelo en cuestión de segundos. O primeiro reconéctase e o segundo cae. Cúlpase ao aforro de batería, ao roaming Wi-Fi e ao NAT do operador, mentres que a causa real está nun campo de texto que se copiou xunto con todo o demais. IKEv2 identifica un peer por un nome, e ambos os teléfonos presentan o mesmo.

A identidade é a clave baixo a que o servidor te garda

Dentro dun intercambio IKEv2 cada parte declara quen é: o iniciador envía un identificador local, o respondedor responde co seu e ademais comproba a identidade que o iniciador afirmou contra a política. A pasarela garda o seu estado por identidade en lugar de por dispositivo, porque un dispositivo non é algo que poida ver. Por iso dous teléfonos cun identificador chegan como un só peer, e o segundo intercambio ten que sobrescribir o primeiro. O problema só aparece mentres ambos están en uso, e por iso unha proba cun só teléfono nunca o reproduce.

Nada disto é un fallo do cliente. O cliente enviou exactamente o que o perfil lle dixo que enviase.

Como se ve a colisión desde a pasarela

Mire a lista de peers mentres ambos os teléfonos están espertos e en uso. Unha colisión mostra unha soa entrada cuxo enderezo cambia a medida que os teléfonos se alternan, e o contador de sesións activas nunca chega a dous. O desmontaxe baixo demanda ten outro aspecto, e distinguilos require unha observación en lugar dunha teoría.

ObservationShared identityIdle teardown
Peer entries while both are awakeOne, with a changing addressOne per phone, or none
What triggers the dropThe other device connectingTime without traffic
What restores itThe other device disconnectingAny app needing the tunnel

Anote ambos os eventos con marcas de tempo mentres ocorre. Unha caída que coincide coa conexión do outro terminal apunta ao identificador, e unha caída que chega un intervalo de inactividade despois do último paquete apunta a un temporizador.

De onde veñen os duplicados

Exportar unha configuración que funciona e editar só o enderezo do servidor produce un segundo ficheiro coa identidade do primeiro aínda dentro. Ese é o camiño habitual cara a este fallo, e adoita ocorrer ao incorporar un grupo pequeno con présa.

Os nomes dos campos fan que sexa fácil pasalo por alto. O identificador remoto nomea a pasarela que o teléfono espera, e copialo é correcto. O identificador local nomea este terminal ante a pasarela, e copiar ese valor é todo o problema.

Emita un valor por dispositivo

Use algo único para o terminal e estable durante toda a súa vida, como o identificador do dispositivo do inventario ou un valor que o seu sistema de xestión xere para cada alta. Unha etiqueta de departamento, un nome de conta de servizo compartida ou o enderezo de correo do usuario colisionan en canto esa persoa ten un segundo dispositivo.

Xere a carga útil por dispositivo en lugar de distribuír un só ficheiro. Rexistre que valor pertence a que terminal, para que unha substitución non restaure o perfil antigo e devolva o teléfono novo directamente á mesma colisión.

Comprobe tamén o lado do servidor. Unha pasarela que asigna a identidade a un enderezo de túnel fixo aínda pode colisionar cando dous identificadores distintos reciben a mesma asignación, así que confirme que o grupo ten espazo e que as asignacións non están fixadas por usuario.

Verifique con ambos os teléfonos espertos

Conecte o primeiro, chegue a un recurso privado, despois conecte o segundo e deixe ambos inactivos un minuto. As dúas sesións deberían persistir e a lista de peers debería mostrar dúas identidades. Despois bloquee e desbloquee cada teléfono para confirmar que o caso de inactividade segue comportándose ben.

Se unha soa sesión segue caendo unha vez ao día sen que nada máis se conecte, a identidade xa non é o sospeitoso. Pase aos temporizadores de inactividade e aos límites de sesión do servidor en lugar de editar o perfil outra vez.

Artigos relacionados