A Windows, "on és el meu perfil OpenVPN" té dues respostes diferents, i triar la incorrecta costa una tarda. El GUI comunitari d'OpenVPN tracta un directori com la seva llista de perfils: cada fitxer .ovpn de la carpeta configurada apareix al menú de la safata, i un fitxer eliminat d'aquesta carpeta desapareix. OpenVPN Connect treballa des d'un magatzem d'importació, així que conserva un perfil que has esborrat del disc i ignora un fitxer que hi has copiat. La comparació de sota és la que faig servir per decidir quina carpeta obrir abans de tocar res.

Una llista de carpeta enfront d'un magatzem d'importació

El GUI comunitari enumera els fitxers en arrencar: llegeix un directori de configuració, triat durant la instal·lació, i un fitxer .ovpn que hi és és un perfil. Tanca el client, copia un fitxer en aquesta carpeta, torna'l a iniciar i l'entrada és al menú.

Connect, en canvi, construeix la seva llista a partir de registres que va escriure durant la importació, així que un fitxer copiat és invisible mentre que un perfil importat sobreviu a l'eliminació de la descàrrega original. Aquesta única diferència explica la majoria d'informes que diuen que els dos clients desen els perfils en llocs diferents, perquè és cert.

El GUI comunitari: quina carpeta s'utilitza realment

Dues carpetes importen. Una instal·lació per usuari llegeix %USERPROFILE%\OpenVPN\config; una instal·lació per a tots els usuaris llegeix C:\Program Files\OpenVPN\config, o la ruta x86 quan el client és de 32-bit. Si un perfil apareix només per a un compte de Windows, és a la carpeta per usuari i l'altre compte no el veurà mai.

No dedueixis la ruta de l'instal·lador. El GUI accepta un argument --config_dir i recorda el directori amb què es va iniciar, així que una drecera pot apuntar a un lloc completament diferent. Comprova l'objectiu de la drecera i el camp Start in, o la configuració del GUI, abans de crear cap fitxer.

Eliminar és eliminar fitxers. Tanca primer el GUI perquè no retingui l'entrada en memòria, esborra el .ovpn juntament amb els fitxers de certificat o clau que hi hagi al costat i torna a iniciar el client.

La carpeta per a tots els usuaris necessita una eliminació elevada. Una eliminació que allà no fa res en silenci és UAC, no un error del client.

Connect: el magatzem d'importació i la doble trampa d'AppData

Les versions 2.x i 3.x actuals desen els perfils a %APPDATA%\OpenVPN Connect\profiles. Les versions al voltant de la 2.5 feien servir %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile, i per això les respostes antigues i noves dels fòrums semblen contradictòries. Una màquina actualitzada al lloc encara pot tenir les dues.

Els camins es deformen quan es repeteixen. %AppData% ja es resol a AppData\Roaming, així que escriure %AppData%\Roaming\OpenVPN Connect\profiles s'expandeix a AppData\Roaming\Roaming i no apunta enlloc. Fes servir la variable o el camí literal, mai una barreja de les dues.

Elimina a través del client: obre Profiles, utilitza la icona del llapis, tria Delete. Això treu el registre i la còpia desada alhora. Eliminar la carpeta mentre Connect funciona pot deixar un registre que no obre res, que és la queixa "profile still shows up" en la seva altra forma.

La còpia importada és la que executa el client. Editar el .ovpn que queda a Downloads no canvia res, perquè Connect llegeix la seva còpia desada; per canviar un remote o un cipher, edita el perfil dins del client, o edita el fitxer i torna'l a importar .

Per què torna un perfil eliminat

Dues instal·lacions de la mateixa família de clients és la raó habitual. Un GUI per usuari i un GUI per a tots els usuaris tenen directoris de configuració separats, així que eliminar-ne un deixa l'altre intacte i la safata encara llista el nom. Programs and Features és on confirmes si tots dos estan instal·lats.

La segona raó és un perfil que mai no era a la carpeta que has comprovat. Obrir un .ovpn una vegada des d'un recurs de xarxa o una carpeta Downloads el pot copiar al directori de configuració per usuari, i els perfils Connect importats existeixen només a AppData. Abans d'editar res, busca el nom del fitxer tant a %USERPROFILE% com a %APPDATA%. Una carpeta de perfil sol tenir la clau privada al costat del .ovpn, així que no enganxis mai la carpeta en un tiquet o xat per demostrar quin perfil has eliminat - cita el nom del fitxer i la marca de temps.

Les versions antigues del GUI també guarden les preferències del client al registre. Si la safata encara llista un nom després que el fitxer hagi desaparegut i només hi ha una instal·lació, reinicia el client una vegada i torna a comprovar el directori de configuració de la drecera abans de plantejar-te tocar claus del registre.

Dos túnels alhora: primer els adaptadors, després la ruta

El GUI pot mantenir diverses connexions, una per adaptador virtual; afegeix adaptadors des de l'entrada del menú Start que instal·la TAP-Windows6, i després confirma el recompte a Network Connections, perquè dos túnels simultanis necessiten dos adaptadors i tots dos haurien d'obtenir la seva adreça automàticament. L'encaminament és el límit més difícil. Dos perfils que redirigeixen tot el trànsit competeixen per la ruta per defecte, i només un la pot posseir, així que obtens fallades intermitents en lloc de dos túnels funcionals. Mantén un túnel complet i dona al segon un perfil de split-tunnel que només empenyi la seva pròpia subxarxa.

Els rangs privats solapats no es poden arreglar afegint un adaptador. Si tots dos servidors reparteixen 10.8.0.0/24, el segon túnel xoca a nivell d'adreça i cap quantitat de configuració del client els separarà.

Els noms dels adaptadors et diuen què estàs mirant. Get-NetAdapter a PowerShell llista els adaptadors TAP-Windows i l'adaptador Wintun pel nom, cosa més ràpida que comptar icones a Network Connections quan un túnel s'ha aixecat al equivocat.

Iniciar un perfil amb nom des d'un script

El GUI pren un nom de perfil relatiu al seu directori de configuració, així que un llançador queda així: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". Una ruta absoluta, o un procés iniciat en un directori de treball diferent, falla en silenci, i per això una drecera que funciona amb doble clic es trenca sota Task Scheduler.

Defineix el directori de treball en lloc d'esperar. En un llançador d'AutoHotkey això és SetWorkingDir, C:\Program Files\OpenVPN\config; a Task Scheduler és el camp Start in de l'acció. Passar --config_dir amb la mateixa ruta fa el llançador independent de tots dos.

Abans d'acabar, exporta el perfil, anota'n l'adaptador, la subxarxa i la subxarxa que encamina, i guarda els certificats de cada client en la seva pròpia subcarpeta. Després confirma que la carpeta pertany al client que realment executes, i elimina a través del client quan aquest client té un magatzem d'importació. Fer-ho en aquest ordre és el que evita que el mateix perfil torni a aparèixer després del proper reinici.

Articles relacionats