Hi ha dos noms en joc abans que el client es connecti: el nom del fitxer a l’ordinador portàtil (nuc.ovpn) i la identitat que el servidor deriva de la credencial. La consulta a client-config-dir fa servir el segon. Canviar el nom del perfil al client, o afegir .conf al fitxer del servidor, no canvia res sobre quin fitxer obre el servidor.

La comparació útil no és «quin nom vaig fer servir» sinó «quina regla aplica el servidor», perquè l’autenticació per certificat i l’autenticació per nom d’usuari/contrasenya poden produir noms efectius diferents a partir del mateix inici de sessió.

Nom del perfil enfront del nom comú del certificat

Amb la configuració predeterminada basada en certificats, el servidor pren el nom comú X.509 i busca un fitxer amb exactament aquest nom dins de client-config-dir. Un perfil anomenat nuc.ovpn el certificat del qual diu tester es resol a /etc/openvpn/server/ccd/tester. El nom del fitxer del client no entra mai al càlcul. És el primer lloc on s’amaga un desajustament.

Per tant, un directori ple de perfils ben anomenats pot fallar cada vegada. El fitxer no es compara per subject, per adreça de correu ni pel nom que mostra una interfície gràfica; es compara per la cadena del nom comú.

En un sistema de fitxers sensible a majúscules, Tester i tester són dos fitxers diferents i només se n’obre un. Comproveu el nom comú del certificat que el client presenta realment, no d’una còpia a les vostres notes.

username-as-common-name inverteix la regla

Quan el servidor fa autenticació per nom d’usuari/contrasenya amb username-as-common-name, el nom d’usuari autenticat substitueix el nom comú del certificat per a aquesta consulta.

Compareu els dos casos directament: amb identitat de certificat, el fitxer segueix el certificat i canviar la contrasenya és irrellevant; amb identitat de nom d’usuari, el fitxer segueix el nom d’inici de sessió i reemetre el certificat és irrellevant. El camp que el servidor substitueix és aquell contra el qual cal reanomenar. Un certificat reemès amb un CN nou canvia en silenci l’objectiu de la consulta, i el fitxer CCD antic es queda al disc amb aspecte correcte.

Existeixen configuracions mixtes, i és aquí on comença la major part de la confusió. Si un bloc de servei activa la substitució i un altre no, el nom efectiu depèn de quina instància va atendre la connexió. Confirmeu la configuració activa en lloc de suposar que s’aplica el fitxer global. La referència d’opcions del servidor original documenta la consulta per fitxer anomenat i el retrocés opcional.

Què llegeix el servidor i què omet en silenci

Dues diferències petites decideixen si un fitxer és seleccionat. La primera és una extensió afegida. La segona és un caràcter sobrant al nom.

OpenVPN no afegeix .conf al nom que busca, així que tester.conf no coincideix amb tester. Un editor que amaga les extensions pot deixar un fitxer que sembla correcte en un llistat i que no coincideix mai.

Quan no hi ha cap fitxer coincident, el servidor pot recórrer a un fitxer anomenat DEFAULT. Que arribin alguns paràmetres no és prova que s’hagi fet servir el fitxer per client. Compareu l’adreça assignada o les rutes empenyudes amb el que produiria el fitxer per client. Els permisos són el tercer filtre, perquè el servidor obre el fitxer després de renunciar als privilegis; una shell de root que el pugui llegir no demostra res.

Un nom de fitxer correcte no valida el contingut

La selecció i el contingut són fallades separades. Un cop obert el fitxer correcte, les seves directives encara han de ser vàlides per a aquell client.

ifconfig-push ha d’assignar una adreça que la topologia pugui fer servir realment, i iroute només té sentit per a una subxarxa encaminada darrere d’aquell client.

Una identitat, diversos dispositius

Dos portàtils que presenten el mateix nom comú seleccionen el mateix fitxer i reben els mateixos paràmetres específics del client. Si necessiteu adreces separades o revocació separada, necessiteu identitats separades, no dues còpies d’un fitxer.

La comparació és entre compartir una identitat i emetre un certificat per dispositiu. Compartir és més senzill d’administrar i més groller de revocar, mentre que els certificats per dispositiu costen més de configurar i us donen una unitat neta per desactivar.

Articles relacionats