OpenVPN no arranca, y el mensaje de fallo apunta a una línea que parece correcta: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. El certificado no ha cambiado, el archivo se abre en un editor y nada de la ruta parece estar mal. El analizador no objetta el nombre de la opción; objeta cuántos argumentos llegaron con ella. Cuatro comprobaciones resuelven casi todos los casos, y conviene ejecutarlas por orden de coste.

Por qué el analizador culpa a la opción

Cada línea de configuración se divide por espacios y por comillas antes de que la vea cualquier opción. Por eso un valor que contiene un espacio llega como varios argumentos si no va entre comillas, y la opción dueña de la línea informa del desajuste. En Windows el directorio de instalación predeterminado lo hace seguro, porque C:\Program Files está en medio de la ruta por construcción. El certificado nunca se abre en este fallo, así que comprobar si el archivo existe no demuestra nada útil.

El número de línea indicado suele ser correcto, y la opción indicada es la que consumió la línea. Cuando la opción nombrada es una que sabe que nunca escribió, lea la línea de encima, porque una comilla perdida dentro de un bloque anterior desplaza el análisis. Así es como un bloque de certificado acaba culpado del recuento de argumentos.

ca C:\Program Files\OpenVPN\config\office-ca.crt

Ponga comillas a toda ruta que contenga un espacio

Un par de comillas dobles alrededor del valor es toda la reparación, y las barras inclinadas hacia delante se aceptan en Windows, así que el escape nunca pasa a formar parte del problema. Corrija todas las opciones de ruta en la misma pasada, porque el analizador se detiene en el primer fallo y la siguiente solo espera el próximo reinicio. El conjunto suele incluir ca, cert, key, tls-auth y auth-user-pass.

ca "C:/Program Files/OpenVPN/config/office-ca.crt"
cert "C:/Program Files/OpenVPN/config/office.crt"
key "C:/Program Files/OpenVPN/config/office.key"

Una búsqueda por el nombre del directorio encuentra cada aparición más rápido que leer el archivo. Ejecútela antes de cualquier edición, para que la lista sea completa:

Select-String -Path .\office.ovpn -Pattern 'Program Files'

Mover el perfil a una ruta sin espacios es una alternativa válida, y solo es válida si cada ruta se mueve con él. Un perfil migrado a medias reproduce el mismo error con otro nombre de archivo, algo más difícil de detectar porque el mensaje ahora apunta a una ruta que acaba de crear. Elija un enfoque y termínelo.

Recupere la declaración de modo antes de los certificados

La segunda causa habitual produce otro mensaje con la misma tarde perdida. Un perfil de cliente debe declarar su modo cerca del principio, y esa declaración se pierde fácilmente cuando solo se pegan los bloques de certificado en un archivo nuevo. Sin ella, OpenVPN lee el archivo con otro conjunto de valores predeterminados, y el daño aparece mucho más tarde como un conflicto entre opciones o un fallo de inicio de sesión. La línea que falta es barata de comprobar y cara de olvidar.

client
dev tun
proto udp
remote vpn.example.net 1194

Mantenga una directiva por línea mientras esté ahí. Las líneas unidas producen exactamente el error de recuento de argumentos de la primera sección, y la línea indicada parece razonable porque la unión ocurrió donde el editor partió el texto. Lea la línea en bruto, no la representada.

El daño de codificación parece un nombre de opción

Un archivo guardado como UTF-16, con marca de orden de bytes incluida, oculta su primera opción al analizador, y los bytes sueltos pueden pegarse al nombre de la opción en el mensaje. Guarde el archivo como UTF-8 sin marca de orden de bytes, vuelva a abrirlo y confirme que el primer carácter es una letra normal. Los editores, la redirección de PowerShell y el texto pegado desde una ventana de chat cambian la codificación sin preguntar.

Format-Hex .\office.ovpn | Select-Object -First 1

La marca de orden de bytes aparece como bytes marcadores iniciales antes de cualquier texto, y borrar esos caracteres a mano es una jugada perdedora porque el editor los vuelve a escribir al guardar. Vuelva a guardar el archivo con una codificación explícita. Los finales de línea son más indulgentes, pero un archivo sin salto de línea al final todavía puede fusionar la última directiva con la anterior tras una edición.

Qué comprobación hacer primero, y por qué

Empiece por la codificación, porque cuesta un comando e invalida cualquier otra lectura del archivo. Luego las comillas, después la declaración de modo y las demás directivas obligatorias, y solo después los certificados, las claves y las credenciales. Trabajar en ese orden mantiene cada paso reversible, porque un certificado cambiado para arreglar un problema de comillas deja una instalación funcionando con un fallo nuevo a dos ediciones del original. El orden importa más que las comprobaciones individuales.

Conserve una copia intacta del archivo tal como lo entregó el operador. Si una edición posterior lo rompe, una diferencia con esa copia muestra si se movió una comilla, un salto de línea o un byte de marca, lo que es más rápido que releer el error. La referencia de opciones de cada directiva está en el manual de OpenVPN de la versión instalada.

Artículos relacionados