På Windows har "hvor er min OpenVPN-profil" to forskellige svar, og det forkerte valg koster en eftermiddag. Fællesskabets OpenVPN GUI behandler en mappe som sin profilliste: hver .ovpn-fil i den konfigurerede mappe vises i menuen i proceslinjen, og en fil, der fjernes fra mappen, forsvinder. OpenVPN Connect arbejder ud fra et importlager, så den beholder en profil, du har slettet fra disken, og ignorerer en fil, du har kopieret ind. Sammenligningen nedenfor er den, jeg bruger til at afgøre, hvilken mappe jeg skal åbne, før jeg rører noget.

En mappeliste kontra et importlager

Fællesskabs-GUI'en optæller filer ved start: den læser én konfigurationsmappe, valgt ved installationen, og en .ovpn-fil, der ligger der, er en profil. Luk klienten, kopiér en fil ind i mappen, start den igen, og posten er i menuen.

Connect bygger derimod sin liste ud fra poster, den skrev under importen, så en kopieret fil er usynlig, mens en importeret profil overlever sletning af den oprindelige download. Den ene forskel forklarer de fleste rapporter om, at de to klienter gemmer profiler forskellige steder, fordi de gør.

Fællesskabs-GUI'en: hvilken mappe bruges egentlig

To mapper betyder noget. En installation pr. bruger læser %USERPROFILE%\OpenVPN\config; en installation for alle brugere læser C:\Program Files\OpenVPN\config, eller x86-stien når klienten er 32-bit. Hvis en profil kun vises for én Windows-konto, ligger den i mappen pr. bruger, og den anden konto ser den aldrig.

Udled ikke stien fra installationsprogrammet. GUI'en accepterer et --config_dir-argument og husker den mappe, den blev startet med, så en genvej kan pege helt et andet sted hen. Tjek genvejens mål og feltet Start i, eller GUI-indstillingerne, før du opretter nogen fil.

Fjernelse er filfjernelse. Luk GUI'en først, så den ikke holder posten i hukommelsen, slet .ovpn sammen med eventuelle certifikat- eller nøglefiler ved siden af, og start derefter klienten igen.

Mappen for alle brugere kræver sletning med forhøjede rettigheder. En sletning, der stiltiende intet gør der, er UAC, ikke en klientfejl.

Connect: importlageret og den dobbelte AppData-fælde

Aktuelle 2.x- og 3.x-builds gemmer profiler under %APPDATA%\OpenVPN Connect\profiles. Builds omkring 2.5 brugte i stedet %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile, hvilket er grunden til, at ældre og nyere forumssvar ser modstridende ud. En maskine, der er opgraderet på stedet, kan stadig have begge.

Stierne bliver forvansket, når de gengives. %AppData% opløses allerede til AppData\Roaming, så skrivning af %AppData%\Roaming\OpenVPN Connect\profiles udvides til AppData\Roaming\Roaming og peger på intet. Brug variablen eller den bogstavelige sti, aldrig en blanding af de to.

Slet gennem klienten: åbn Profiles, brug blyantikonet, vælg Delete. Det fjerner posten og den gemte kopi sammen. Hvis du fjerner mappen, mens Connect kører, kan det efterlade en post, der ikke åbner noget, hvilket er klagen "profile still shows up" i dens anden form.

Den importerede kopi er den, klienten kører. At redigere den .ovpn, der ligger i Downloads, ændrer intet, fordi Connect læser sin gemte kopi; for at ændre en remote eller en cipher redigerer du profilen inde i klienten, eller redigerer filen og importerer den igen .

Hvorfor en slettet profil kommer tilbage

To installationer af samme klientfamilie er den sædvanlige årsag. En GUI pr. bruger og en GUI for alle brugere har separate konfigurationsmapper, så sletning fra den ene lader den anden være intakt, og proceslinjen viser stadig navnet. Programs and Features er, hvor du bekræfter, om begge er installeret.

Den anden årsag er en profil, der aldrig var i den mappe, du tjekkede. At åbne en .ovpn én gang fra en netværksdeling eller en Downloads-mappe kan kopiere den til konfigurationsmappen pr. bruger, og importerede Connect-profiler findes kun i AppData. Før du redigerer noget, skal du søge efter filnavnet under både %USERPROFILE% og %APPDATA%. En profilmappe indeholder normalt den private nøgle ved siden af .ovpn, så indsæt aldrig mappen i en sag eller chat for at bevise, hvilken profil du fjernede - angiv i stedet filnavnet og tidsstemplet.

Ældre GUI-builds gemmer også klientindstillinger i registreringsdatabasen. Hvis proceslinjen stadig viser et navn, efter filen er væk, og der kun findes én installation, skal du genstarte klienten én gang og tjekke genvejens konfigurationsmappe igen, før du overvejer at røre registreringsnøgler.

To tunneller på én gang: først adaptere, derefter ruten

GUI'en kan holde flere forbindelser, én pr. virtuel adapter; tilføj adaptere fra Start-menuens post, der installerer TAP-Windows6, og bekræft derefter antallet i Network Connections, fordi to samtidige tunneller kræver to adaptere, og begge bør få deres adresse automatisk. Routing er den sværere grænse. To profiler, der hver omdirigerer al trafik, konkurrerer om standardruten, og kun én kan eje den, så du får periodiske fejl i stedet for to fungerende tunneller. Behold én fuld tunnel og giv den anden en split-tunnel-profil, der kun skubber sit eget undernet.

Overlappende private områder kan ikke løses ved at tilføje en adapter. Hvis begge servere uddeler 10.8.0.0/24, kolliderer den anden tunnel på adresseniveau, og ingen mængde klientkonfiguration kan adskille dem.

Adapternavne fortæller dig, hvad du kigger på. Get-NetAdapter i PowerShell viser TAP-Windows-adaptere og Wintun-adapteren ved navn, hvilket er hurtigere end at tælle ikoner i Network Connections, når en tunnel kom op på den forkerte.

Start af en navngivet profil fra et script

GUI'en tager et profilnavn relativt til sin konfigurationsmappe, så en starter ser sådan ud: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". En absolut sti, eller en proces startet i en anden arbejdsmappe, fejler lydløst, hvilket er grunden til, at en genvej, der virker ved dobbeltklik, fejler under Task Scheduler.

Indstil arbejdsmappen i stedet for at håbe. I en AutoHotkey-starter er det SetWorkingDir, C:\Program Files\OpenVPN\config; i Task Scheduler er det handlingens felt Start i. At sende --config_dir med den samme sti gør starteren uafhængig af begge.

Før du er færdig, skal du eksportere profilen, notere dens adapter, undernet og det undernet, den router, og holde hver kundes certifikater i sin egen undermappe. Bekræft derefter, at mappen tilhører den klient, du faktisk kører, og slet gennem klienten, når den klient har et importlager. Det er den rækkefølge, der forhindrer den samme profil i at dukke op igen efter den næste genstart.

Relaterede artikler