Que programa é o dono dese config.json na túa configuración de OpenVPN?
Un ficheiro chamado config.json pode pertencer a unha GUI, a un demonio ou a un formato de exportación en lugar de a OpenVPN. Atopa o analizador antes de editar ou substituír claves.
Atopas un ficheiro chamado config.json, menciona un servidor VPN e a suposición chega de inmediato: isto debe de ser a conexión de OpenVPN. A miúdo non o é. Un ficheiro JSON con ese nome pode pertencer a unha interface de escritorio que lanza o cliente, a un demonio que garda os seus propios axustes ou ao formato de exportación dun produto, e cada un deles ten o seu propio esquema.
O nome do ficheiro é a pista menos útil. Comeza polo proceso que le o ficheiro, comproba despois se o formato que espera é sequera JSON e só entón decide se editar o ficheiro é a forma admitida de cambiar algo.
Comeza polo proceso, non polo nome do ficheiro
Mira que se está executando realmente. Unha unidade de servizo, un script de arranque ou unha aplicación da bandexa do sistema nomearán o binario que inician e a miúdo a ruta de configuración que lle pasan. O directorio que contén o ficheiro é unha segunda pista: os directorios de datos de aplicacións, os de configuración de servizos e os de perfís de usuario implican propietarios distintos.
Despois le a documentación do produto propietario dese compoñente. Se o JSON pertence a un envoltorio, as súas claves son as claves do envoltorio, e un obxecto de aspecto plausible construído a partir do exemplo doutro produto será rexeitado ou ignorado en silencio.
Dous ficheiros co mesmo nome en directorios distintos son unha trampa habitual. Un pode ser estado xerado que o servizo reescribe en cada arranque, e o outro pode ser o modelo que unha persoa debe editar. Cambiar o equivocado produce unha corrección que dura ata o próximo reinicio.
Que é en realidade un perfil de Community OpenVPN
Community OpenVPN 2.6 le un formato de texto baseado en opcións. Un perfil é unha secuencia de directivas: unha liña de modo cliente, unha liña de dispositivo, un punto final remoto, ademais de opcións de identidade, cifrado e rutas, e pode incrustar material de certificado e clave dentro de bloques en liña.
Ese formato analízao o propio cliente liña por liña. Entregarlle un documento JSON mediante a opción config non activa un analizador JSON; a primeira liña será rexeitada como unha directiva descoñecida. Renomear un ficheiro JSON para que remate en .ovpn tampouco converte o seu contido, e un ficheiro de opcións válido non se volve inválido porque a súa extensión sexa pouco habitual.
OpenVPN Connect e OpenVPN 3 Linux teñen as súas propias rutas de importación e xestión de perfís. Eses produtos poden aceptar un perfil e gardalo na súa propia base de datos ou estado de servizo, o que non é o mesmo ca un ficheiro JSON que por casualidade describe un servidor.
Editar estado que pertence a outro compoñente
Se o JSON se xera, editalo é unha carreira. Un servizo en execución pode volver escribilo ao apagarse, ao reconectar ou no seguinte cambio de axustes, e unha edición manual desaparece sen ningún erro. Prefire a orde de importación do produto, a API de xestión ou a interface de axustes, porque esas rutas actualizan o estado interno que representa o ficheiro. Un ficheiro que volve atrás tras un reinicio dinos que ruta era a duradeira.
Se aínda así editas un ficheiro xerado, detén primeiro o servizo, garda unha copia de seguridade e fai o cambio máis pequeno posible. Despois comproba se o servizo reescribe o ficheiro ao arrancar, porque un ficheiro que volve atrás ao arrancar significa que a fonte real de verdade está noutro sitio e que a edición nunca tería persistido.
Os contrasinais e as claves privadas incrustadas son unha cuestión aparte. JSON pode levar unha clave completa coa mesma facilidade ca un ficheiro de opcións, así que trata calquera exportación como segredo, mantena fóra de discos compartidos e tacha os valores antes de pegar a estrutura nunha pregunta de foro.
Verificar o cambio e protexer o ficheiro
Verificar non é “o JSON analízase”. A análise só demostra que as claves coinciden; non di nada sobre se o propietario recoñece as claves. Comproba o estado propio do produto: a lista de perfís activos, a conexión seleccionada e unha reconexión que use de verdade os novos valores. Un perfil que aparece na lista pero nunca chega a ser o seleccionado segue sen ser o perfil en uso.
Vixía o rexistro do compoñente que editaches, non só o do cliente VPN. Un envoltorio que rexeita o teu ficheiro adoita informalo no seu propio rexistro, e un cliente que nunca recibiu o ficheiro vese idéntico a un cliente que recibiu axustes malos.
Conserva unha copia do ficheiro que funciona e anota a versión do produto coa que probaches. Estes formatos cambian entre versións, e unha estrutura que funcionaba o ano pasado pode ser rexeitada tras unha actualización cunha mensaxe que non menciona o esquema en absoluto.
Resumo do percorrido: identifica o proceso, le a súa documentación, confirma se o ficheiro é sequera JSON, usa a ruta de edición admitida e verifica a través do estado propio do produto. O nome do ficheiro nunca respondeu a ningunha desas preguntas.