Na Windowsu pitanje "gdje je moj OpenVPN profil" ima dva različita odgovora, a pogrešan izbor košta jedno poslijepodne. Zajednički OpenVPN GUI tretira direktorij kao svoju listu profila: svaka .ovpn datoteka u konfigurisanoj mapi pojavljuje se u meniju sistemske trake, a datoteka uklonjena iz te mape nestaje. OpenVPN Connect radi iz skladišta uvoza, pa zadržava profil koji ste izbrisali s diska i ignorira datoteku koju ste kopirali. Poređenje ispod je ono koje koristim da odlučim koju mapu otvoriti prije nego što bilo šta dodirnem.

Lista mape naspram skladišta uvoza

Zajednički GUI nabraja datoteke pri pokretanju: čita jedan konfiguracijski direktorij, odabran pri instalaciji, a .ovpn datoteka koja tamo leži je profil. Zatvorite klijent, kopirajte datoteku u tu mapu, pokrenite ga ponovo i stavka je u meniju.

Connect umjesto toga gradi svoju listu iz zapisa koje je napisao tokom uvoza, pa je kopirana datoteka nevidljiva dok uvezeni profil preživljava brisanje originalnog preuzimanja. Ta jedna razlika objašnjava većinu izvještaja da dva klijenta čuvaju profile na različitim mjestima, jer to zaista čine.

Zajednički GUI: koja se mapa zapravo koristi

Dvije mape su važne. Instalacija za jednog korisnika čita %USERPROFILE%\OpenVPN\config; instalacija za sve korisnike čita C:\Program Files\OpenVPN\config, ili x86 putanju kada je klijent 32-bit. Ako se profil pojavljuje samo za jedan Windows račun, on je u mapi za pojedinačnog korisnika i drugi račun ga nikada neće vidjeti.

Ne zaključujte putanju iz instalatera. GUI prihvata argument --config_dir i pamti direktorij s kojim je pokrenut, pa prečica može pokazivati sasvim drugdje. Provjerite cilj prečice i polje Start in, ili postavke GUI-ja, prije nego što kreirate bilo koju datoteku.

Uklanjanje je uklanjanje datoteke. Prvo zatvorite GUI da ne drži stavku u memoriji, izbrišite .ovpn zajedno s datotekama certifikata ili ključa koje se drže pored njega, zatim ponovo pokrenite klijent.

Mapa za sve korisnike zahtijeva brisanje s povišenim pravima. Brisanje koje tamo tiho ne uradi ništa je UAC, a ne greška klijenta.

Connect: skladište uvoza i dvostruka AppData zamka

Trenutne 2.x i 3.x verzije drže profile pod %APPDATA%\OpenVPN Connect\profiles. Verzije oko 2.5 koristile su umjesto toga %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile, zbog čega stariji i noviji odgovori s foruma izgledaju proturječni. Mašina nadograđena na licu mjesta može još držati oba.

Putanje se kvare u prepričavanju. %AppData% se već razrješava u AppData\Roaming, pa se pisanje %AppData%\Roaming\OpenVPN Connect\profiles širi u AppData\Roaming\Roaming i ne pokazuje ni na šta. Koristite varijablu ili doslovnu putanju, nikada mješavinu to dvoje.

Brišite kroz klijent: otvorite Profiles, upotrijebite ikonu olovke, odaberite Delete. To uklanja zapis i sačuvanu kopiju zajedno. Uklanjanje mape dok Connect radi može ostaviti zapis koji ništa ne otvara, što je pritužba "profile still shows up" u drugom obliku.

Uvezena kopija je ona koju klijent pokreće. Uređivanje .ovpn ostavljenog u Downloads ne mijenja ništa, jer Connect čita svoju sačuvanu kopiju; da biste promijenili remote ili cipher, uredite profil unutar klijenta ili uredite datoteku i uvezite je ponovo .

Zašto se izbrisani profil vraća

Uobičajen razlog su dvije instalacije iste porodice klijenata. GUI za jednog korisnika i GUI za sve korisnike imaju odvojene konfiguracijske direktorije, pa brisanje iz jednog ostavlja drugi netaknutim i traka još prikazuje ime. Programs and Features je mjesto gdje provjeravate jesu li oba instalirana.

Drugi razlog je profil koji nikada nije bio u mapi koju ste provjerili. Otvaranje .ovpn jednom s mrežnog dijeljenja ili iz mape Downloads može ga kopirati u konfiguracijski direktorij za pojedinačnog korisnika, a uvezeni Connect profili postoje samo u AppData. Prije nego bilo šta uredite, potražite ime datoteke pod %USERPROFILE% i %APPDATA%. Mapa profila obično drži privatni ključ pored .ovpn, pa nikada ne lijepite mapu u tiket ili chat da dokažete koji ste profil uklonili - umjesto toga navedite ime datoteke i vremensku oznaku.

Starije GUI verzije također drže postavke klijenta u registru. Ako traka još prikazuje ime nakon što je datoteka nestala i prisutna je samo jedna instalacija, jednom ponovo pokrenite klijent i ponovo provjerite konfiguracijski direktorij prečice prije nego što razmislite o diranju ključeva registra.

Dva tunela istovremeno: prvo adapteri, zatim ruta

GUI može držati nekoliko veza, po jednu za svaki virtuelni adapter; dodajte adaptere iz stavke Start menija koja instalira TAP-Windows6, zatim potvrdite broj u Network Connections, jer dva istovremena tunela trebaju dva adaptera i oba trebaju automatski dobiti svoju adresu. Rutiranje je teže ograničenje. Dva profila koji svaki preusmjerava sav saobraćaj takmiče se za zadanu rutu, a samo jedan može biti njen vlasnik, pa dobijate povremene kvarove umjesto dva tunela koja rade. Zadržite jedan puni tunel i drugom dajte split-tunnel profil koji gura samo njegovu vlastitu podmrežu.

Preklapajući privatni rasponi ne mogu se popraviti dodavanjem adaptera. Ako oba servera daju 10.8.0.0/24, drugi tunel se sudara na nivou adrese i nikakva klijentska konfiguracija ih neće razdvojiti.

Imena adaptera vam govore šta gledate. Get-NetAdapter u PowerShellu navodi TAP-Windows adaptere i Wintun adapter po imenu, što je brže od brojanja ikona u Network Connections kada je tunel podignut na pogrešnom.

Pokretanje imenovanog profila iz skripte

GUI uzima ime profila relativno u odnosu na svoj konfiguracijski direktorij, pa pokretač izgleda ovako: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". Apsolutna putanja, ili proces pokrenut u drugom radnom direktoriju, tiho ne uspijeva, zbog čega prečica koja radi dvostrukim klikom pada pod Task Schedulerom.

Postavite radni direktorij umjesto da se nadate. U AutoHotkey pokretaču to je SetWorkingDir, C:\Program Files\OpenVPN\config; u Task Scheduleru to je polje Start in radnje. Prosljeđivanje --config_dir s istom putanjom čini pokretač nezavisnim od oba.

Prije nego završite, izvezite profil, zabilježite njegov adapter, podmrežu i podmrežu koju rutira, i držite certifikate svakog klijenta u zasebnoj podmapa. Zatim potvrdite da mapa pripada klijentu koji zaista pokrećete, i brišite kroz klijent kada taj klijent ima skladište uvoza. Tim redoslijedom sprječavate da se isti profil ponovo pojavi nakon sljedećeg restarta.

Povezani članci