OpenVPN Connect mot OpenVPN GUI: hvor Windows lagrer profiler
To Windows-klienter, to profilmodeller: GUI lister .ovpn-filer fra en mappe, Connect holder et importlager. Fjern eller importer deretter riktig.
På Windows har "hvor er OpenVPN-profilen min" to forskjellige svar, og å velge feil koster en ettermiddag. Fellesskapets OpenVPN GUI behandler en mappe som profillisten sin: hver .ovpn-fil i den konfigurerte mappen vises i menylinjen, og en fil som fjernes fra mappen, forsvinner. OpenVPN Connect arbeider fra et importlager, så det beholder en profil du slettet fra disken og ignorerer en fil du kopierte inn. Sammenligningen nedenfor er den jeg bruker for å avgjøre hvilken mappe jeg skal åpne før jeg rører noe.
En mappeliste kontra et importlager
Fellesskaps-GUI-en teller opp filer ved oppstart: den leser én konfigurasjonsmappe, valgt ved installasjon, og en .ovpn-fil som ligger der, er en profil. Lukk klienten, kopier en fil inn i mappen, start den igjen, og oppføringen er i menyen.
Connect bygger i stedet listen sin fra poster den skrev under importen, så en kopiert fil er usynlig mens en importert profil overlever sletting av den opprinnelige nedlastingen. Den ene forskjellen forklarer de fleste rapportene om at de to klientene lagrer profiler på forskjellige steder, fordi de gjør det.
Fellesskaps-GUI-en: hvilken mappe som faktisk brukes
To mapper betyr noe. En installasjon per bruker leser %USERPROFILE%\OpenVPN\config; en installasjon for alle brukere leser C:\Program Files\OpenVPN\config, eller x86-stien når klienten er 32-bit. Hvis en profil bare vises for én Windows-konto, ligger den i mappen per bruker, og den andre kontoen vil aldri se den.
Ikke utled stien fra installasjonsprogrammet. GUI-en godtar et --config_dir-argument og husker mappen den ble startet med, så en snarvei kan peke helt et annet sted. Sjekk målet til snarveien og feltet Start in, eller GUI-innstillingene, før du oppretter noen fil.
Fjerning er filfjerning. Lukk GUI-en først slik at den ikke holder oppføringen i minnet, slett .ovpn sammen med eventuelle sertifikat- eller nøkkelfiler som ligger ved siden av, og start deretter klienten igjen.
Mappen for alle brukere krever sletting med forhøyede rettigheter. En sletting som stille ikke gjør noe der, er UAC, ikke en klientfeil.
Connect: importlageret og den doble AppData-fellen
Gjeldende 2.x- og 3.x-bygg lagrer profiler under %APPDATA%\OpenVPN Connect\profiles. Bygg rundt 2.5 brukte i stedet %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile, og derfor ser eldre og nyere forumssvar motstridende ut. En maskin som er oppgradert på stedet, kan fortsatt ha begge.
Stiene blir ødelagt når de gjenfortelles. %AppData% løses allerede ut til AppData\Roaming, så å skrive %AppData%\Roaming\OpenVPN Connect\profiles utvides til AppData\Roaming\Roaming og peker ingen steder. Bruk variabelen eller den bokstavelige stien, aldri en blanding av de to.
Slett gjennom klienten: åpne Profiles, bruk blyantikonet, velg Delete. Det fjerner posten og den lagrede kopien sammen. Hvis du fjerner mappen mens Connect kjører, kan det bli en post som ikke åpner noe, og det er klagen "profile still shows up" i dens andre form.
Den importerte kopien er den klienten kjører. Å redigere .ovpn som ligger igjen i Downloads endrer ingenting, fordi Connect leser sin lagrede kopi; for å endre en remote eller en cipher redigerer du profilen inne i klienten, eller redigerer filen og importerer den på nytt .
Hvorfor en slettet profil kommer tilbake
To installasjoner av samme klientfamilie er den vanlige årsaken. En GUI per bruker og en GUI for alle brukere har separate konfigurasjonsmapper, så sletting fra den ene lar den andre være intakt, og menylinjen viser fortsatt navnet. Programs and Features er der du bekrefter om begge er installert.
Den andre årsaken er en profil som aldri var i mappen du sjekket. Å åpne en .ovpn én gang fra en nettverksdeling eller en Downloads-mappe kan kopiere den til konfigurasjonsmappen per bruker, og importerte Connect-profiler finnes bare i AppData. Før du redigerer noe, søk etter filnavnet under både %USERPROFILE% og %APPDATA%. En profilmappe inneholder vanligvis den private nøkkelen ved siden av .ovpn, så lim aldri mappen inn i en sak eller chat for å bevise hvilken profil du fjernet - oppgi i stedet filnavnet og tidsstempelet.
Eldre GUI-bygg lagrer også klientinnstillinger i registeret. Hvis menylinjen fortsatt viser et navn etter at filen er borte, og det bare finnes én installasjon, starter du klienten på nytt én gang og sjekker konfigurasjonsmappen til snarveien igjen før du vurderer å røre registernøkler.
To tunneler samtidig: først adaptere, deretter ruten
GUI-en kan holde flere tilkoblinger, én per virtuell adapter; legg til adaptere fra Start-menyoppføringen som installerer TAP-Windows6, og bekreft deretter antallet i Network Connections, fordi to samtidige tunneler trenger to adaptere, og begge bør få adressen sin automatisk. Ruting er den vanskeligere grensen. To profiler som hver omdirigerer all trafikk, konkurrerer om standardruten, og bare én kan eie den, så du får periodiske feil i stedet for to fungerende tunneler. Behold én full tunnel og gi den andre en split-tunnel-profil som bare skyver sitt eget subnett.
Overlappende private områder kan ikke fikses ved å legge til en adapter. Hvis begge serverne deler ut 10.8.0.0/24, kolliderer den andre tunnelen på adressenivå, og ingen klientkonfigurasjon vil skille dem.
Adapternavn forteller deg hva du ser på. Get-NetAdapter i PowerShell lister TAP-Windows-adaptere og Wintun-adapteren ved navn, noe som er raskere enn å telle ikoner i Network Connections når en tunnel kom opp på feil adapter.
Starte en navngitt profil fra et skript
GUI-en tar et profilnavn relativt til konfigurasjonsmappen sin, så en starter ser slik ut: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". En absolutt sti, eller en prosess startet i en annen arbeidsmappe, feiler stille, og derfor bryter en snarvei som virker ved dobbeltklikk under Task Scheduler.
Angi arbeidsmappen i stedet for å håpe. I en AutoHotkey-starter er det SetWorkingDir, C:\Program Files\OpenVPN\config; i Task Scheduler er det feltet Start in for handlingen. Å sende --config_dir med samme sti gjør starteren uavhengig av begge.
Før du er ferdig, eksporter profilen, noter adapteren, subnettet og subnettet den ruter, og hold hver kundes sertifikater i sin egen undermappe. Bekreft deretter at mappen tilhører klienten du faktisk kjører, og slett gjennom klienten når den klienten har et importlager. Det er den rekkefølgen som hindrer den samme profilen i å dukke opp igjen etter neste omstart.