Un túnel que sobe e despois se reinicia cada medio minuto non adoita ser un problema de cifrado nin de MTU. É unha identidade usada dúas veces. O servidor ve un nome común coñecido, toma a sesión nova como a máis recente, e o dispositivo máis antigo descobre que foi substituído. Desde o lado do cliente iso parece un tempo de inactividade esgotado e un reinicio, e por iso a investigación tantas veces comeza no lugar equivocado.

Comeza polo intervalo de reinicio

O intervalo é unha pista antes que nada. Unha cadencia regular que coincide coa xanela ping-restart apunta a unha sesión substituída máis que a unha ruta defectuosa, porque os fallos de ruta raramente son tan regulares. Anota o intervalo exacto entre reinicios e a liña de motivo no rexistro do cliente. Un tempo esgotado seguido dun reinicio conta unha historia distinta dunha negociación fallida.

Comproba cando comezaron os reinicios respecto dun segundo dispositivo. Un portátil novo, un teléfono ou un perfil copiado a unha máquina de reposto son os desencadeantes habituais, e o momento adoita coincidir co día en que alguén o configurou.

Anota o intervalo e o motivo. Ambos son probas, e ambos son baratos de recoller.

Le o que dixo o servidor sobre o segundo inicio de sesión

Nun servidor que controlas, o rexistro nomea o nome común e mostra unha segunda conexión que chega. Sen duplicate-cn, esa chegada substitúe a sesión existente para o mesmo nome, e a mensaxe adoita dicilo sen rodeos. Con duplicate-cn, as dúas sesións conviven e o síntoma cambia: os clientes seguen activos pero comparten un só conxunto de axustes por cliente e unha soa decisión de revocación. Le as dúas entradas xuntas, porque a substitución só se ve en secuencia.

Nun servizo aloxado pode que non teñas ningún rexistro do servidor. A pista é entón o momento: un túnel estable que cae cada vez que se conecta outra máquina, sen nada no rexistro do cliente máis aló do tempo esgotado.

Compara os bloques de certificado e clave en ambos os perfís, non só o nome de host remoto. Os perfís copiados adoitan diferir só no nome do ficheiro.

Separa a identidade no lado do servidor

Emite un certificado por dispositivo a través da CA que asina para este servidor. Con Easy-RSA iso significa un nome de cliente aparte para cada dispositivo, e o perfil constrúese logo con ese certificado e a súa clave. O nome común convértese na identidade do dispositivo, que é exactamente o que lle faltaba ao servidor. Nomeaos polo dispositivo e non pola persoa, para que unha substitución produza un nome novo.

A clave compartida da canle de control é outra cousa. tls-crypt ou tls-auth protexe a canle de control de cada cliente e está pensada para compartirse. Non é unha identidade de cliente, e substituíla non arranxará un certificado duplicado.

Mantén o certificado, a clave e calquera ficheiro de configuración por cliente co mesmo nome común, ou a correspondencia rompe na seguinte conexión. Unha discrepancia alí produce un cliente que se autentica e despois non recibe nada.

Mantén enderezos e axustes aliñados tras a separación

Os enderezos fixos introducen unha segunda forma de colisión. Se o servidor os asigna mediante ifconfig-pool-persist ou un ficheiro por cliente, eses rexistros aínda apuntan ao nome antigo. Dous dispositivos poden acabar co mesmo enderezo de túnel mesmo despois de separar os certificados, e ese fallo vese distinto do bucle orixinal.

Actualiza a correspondencia ao mesmo tempo que o certificado, logo reconecta ambos os dispositivos e compara os seus enderezos asignados. Un enderezo duplicado móstrase como perda intermitente en lugar dunha reconexión limpa.

Envía os axustes que deban diferir por dispositivo mediante o ficheiro propio dese dispositivo, non mediante un modelo compartido. Un modelo compartido tamén fai máis difícil detectar o seguinte duplicado.

Retira a identidade antiga como cómpre

Revoca o certificado cando o hardware se retira ou se perde, en lugar de borrar o perfil da máquina antiga. A revocación produce unha CRL nova, e o servidor necesita ese ficheiro onde apunta crl-verify. Con esa directiva no seu sitio, unha CRL ausente ou ilexible fai que o servidor rexeite todos os clientes, así que proba unha conta coñecida despois de cada actualización.

Mantén un inventario que ate cada certificado a unha persoa ou dispositivo, con datas de emisión e de revocación. Ese inventario responde quen segue tendo acceso sen ler nomes de ficheiro, e evita que o seguinte perfil copiado reinicie o bucle.

Artigos relacionados