Encuentras un archivo llamado config.json, menciona un servidor VPN y la suposición llega de inmediato: esto debe de ser la conexión de OpenVPN. A menudo no lo es. Un archivo JSON con ese nombre puede pertenecer a una interfaz de escritorio que lanza el cliente, a un demonio que guarda sus propios ajustes o al formato de exportación de un producto, y cada uno de ellos tiene su propio esquema.

El nombre del archivo es la pista menos útil. Empieza por el proceso que lee el archivo, comprueba después si el formato que espera es siquiera JSON y solo entonces decide si editar el archivo es la forma admitida de cambiar algo.

Empieza por el proceso, no por el nombre del archivo

Mira qué se está ejecutando realmente. Una unidad de servicio, un script de arranque o una aplicación de la bandeja del sistema nombrarán el binario que inician y a menudo la ruta de configuración que le pasan. El directorio que contiene el archivo es una segunda pista: los directorios de datos de aplicaciones, los de configuración de servicios y los de perfiles de usuario implican propietarios distintos.

Después lee la documentación del producto propietario de ese componente. Si el JSON pertenece a un envoltorio, sus claves son las claves del envoltorio, y un objeto de aspecto plausible construido a partir del ejemplo de otro producto será rechazado o ignorado en silencio.

Dos archivos con el mismo nombre en directorios distintos son una trampa habitual. Uno puede ser estado generado que el servicio reescribe en cada arranque, y el otro puede ser la plantilla que una persona debe editar. Cambiar el equivocado produce una corrección que dura hasta el próximo reinicio.

Qué es en realidad un perfil de Community OpenVPN

Community OpenVPN 2.6 lee un formato de texto basado en opciones. Un perfil es una secuencia de directivas: una línea de modo cliente, una línea de dispositivo, un punto final remoto, además de opciones de identidad, cifrado y rutas, y puede incrustar material de certificado y clave dentro de bloques en línea.

Ese formato lo analiza el propio cliente línea por línea. Entregarle un documento JSON mediante la opción config no activa un analizador JSON; la primera línea será rechazada como una directiva desconocida. Renombrar un archivo JSON para que termine en .ovpn tampoco convierte su contenido, y un archivo de opciones válido no se vuelve inválido porque su extensión sea poco habitual.

OpenVPN Connect y OpenVPN 3 Linux tienen sus propias rutas de importación y gestión de perfiles. Esos productos pueden aceptar un perfil y guardarlo en su propia base de datos o estado de servicio, lo que no es lo mismo que un archivo JSON que por casualidad describe un servidor.

Editar estado que pertenece a otro componente

Si el JSON se genera, editarlo es una carrera. Un servicio en ejecución puede volver a escribirlo al apagarse, al reconectar o en el siguiente cambio de ajustes, y una edición manual desaparece sin ningún error. Prefiere el comando de importación del producto, la API de gestión o la interfaz de ajustes, porque esas rutas actualizan el estado interno que representa el archivo. Un archivo que vuelve atrás tras un reinicio te dice qué ruta era la duradera.

Si aun así editas un archivo generado, detén primero el servicio, guarda una copia de seguridad y haz el cambio más pequeño posible. Después comprueba si el servicio reescribe el archivo al arrancar, porque un archivo que vuelve atrás al arrancar significa que la fuente real de verdad está en otro sitio y que la edición nunca habría persistido.

Las contraseñas y las claves privadas incrustadas son una cuestión aparte. JSON puede llevar una clave completa con la misma facilidad que un archivo de opciones, así que trata cualquier exportación como secreto, mantenla fuera de discos compartidos y tacha los valores antes de pegar la estructura en una pregunta de foro.

Verificar el cambio y proteger el archivo

Verificar no es “el JSON se analiza”. El análisis solo demuestra que las llaves coinciden; no dice nada sobre si el propietario reconoce las claves. Comprueba el estado propio del producto: la lista de perfiles activos, la conexión seleccionada y una reconexión que use de verdad los nuevos valores. Un perfil que aparece en la lista pero nunca llega a ser el seleccionado sigue sin ser el perfil en uso.

Vigila el registro del componente que editaste, no solo el del cliente VPN. Un envoltorio que rechaza tu archivo suele informarlo en su propio registro, y un cliente que nunca recibió el archivo se ve idéntico a un cliente que recibió ajustes malos.

Conserva una copia del archivo que funciona y anota la versión del producto con la que probaste. Estos formatos cambian entre versiones, y una estructura que funcionaba el año pasado puede ser rechazada tras una actualización con un mensaje que no menciona el esquema en absoluto.

Resumen del recorrido: identifica el proceso, lee su documentación, confirma si el archivo es siquiera JSON, usa la ruta de edición admitida y verifica a través del estado propio del producto. El nombre del archivo nunca respondió a ninguna de esas preguntas.

Artículos relacionados