OpenVPN Connect наспроти OpenVPN GUI: каде Windows ги чува профилите
Два Windows клиенти, два модели на профили: GUI ги наведува .ovpn датотеките од папка, Connect држи складиште за увоз. Потоа отстранете или увезете правилно.
На Windows, прашањето "каде е мојот OpenVPN профил" има два различни одговори, а погрешниот избор чини едно попладне. Заедничкиот OpenVPN GUI ја третира директориумот како своја листа на профили: секоја .ovpn датотека во конфигурираната папка се појавува во менито на системскиот сад, а датотеката отстранета од таа папка исчезнува. OpenVPN Connect работи од складиште за увоз, па го задржува профилот што сте го избришале од дискот и ја игнорира датотеката што сте ја копирале. Споредбата подолу е онаа што ја користам за да одлучам која папка да ја отворам пред да допрам нешто.
Листа на папка наспроти складиште за увоз
Заедничкиот GUI ги наведува датотеките при стартување: чита еден конфигурациски директориум, избран при инсталацијата, и .ovpn датотека што лежи таму е профил. Затворете го клиентот, копирајте датотека во таа папка, стартувајте го повторно, и записот е во менито.
Connect наместо тоа ја гради својата листа од записи што ги напишал при увозот, па копираната датотека е невидлива, додека увезениот профил преживува по бришењето на оригиналното преземање. Токму таа единствена разлика ги објаснува повеќето извештаи дека двата клиенти ги чуваат профилите на различни места, зашто навистина е така.
Заедничкиот GUI: која папка всушност се користи
Две папки се важни. Инсталацијата за еден корисник чита %USERPROFILE%\OpenVPN\config; инсталацијата за сите корисници чита C:\Program Files\OpenVPN\config, или патеката x86 кога клиентот е 32-bit. Ако профилот се појавува само за еден Windows сметка, тој е во папката за еден корисник и другата сметка никогаш нема да го види.
Не изведувајте ја патеката од инсталаторот. GUI прифаќа аргумент --config_dir и го памети директориумот со кој е стартуван, па кратенката може да покажува сосема на друго место. Проверете ја целта на кратенката и полето Start in, или поставките на GUI, пред да создадете која било датотека.
Отстранувањето е отстранување на датотека. Прво затворете го GUI за да не го држи записот во меморија, избришете ја .ovpn заедно со сите датотеки за сертификат или клуч што се чуваат покрај неа, потоа стартувајте го клиентот повторно.
Папката за сите корисници бара бришење со покачени права. Бришење што таму тивко не прави ништо е UAC, а не грешка на клиентот.
Connect: складиштето за увоз и двојната стапица AppData
Тековните 2.x и 3.x изданија ги чуваат профилите под %APPDATA%\OpenVPN Connect\profiles. Изданијата околу 2.5 користеа наместо тоа %ProgramFiles(x86)%\OpenVPN Technologies\OpenVPN Client\etc\profile, поради што постарите и поновите одговори на форумот изгледаат противречни. Машина надградена на самото место сѐ уште може да ги чува двете.
Патеките се искривуваат при прераскажување. %AppData% веќе се решава во AppData\Roaming, па пишувањето %AppData%\Roaming\OpenVPN Connect\profiles се шири во AppData\Roaming\Roaming и не покажува никаде. Користете ја променливата или буквалната патека, никогаш мешавина од двете.
Бришете преку клиентот: отворете Profiles, користете ја иконата со молив, изберете Delete. Тоа го отстранува записот и зачуваната копија заедно. Отстранувањето на папката додека Connect работи може да остави запис што не отвора ништо, а тоа е жалбата "profile still shows up" во друга форма.
Увезената копија е онаа што клиентот ја извршува. Уредувањето на .ovpn оставена во Downloads не менува ништо, зашто Connect ја чита својата зачувана копија; за да смените remote или cipher, уредете го профилот внатре во клиентот или уредете ја датотеката и увезете ја повторно .
Зошто избришан профил се враќа
Обична причина се две инсталации од истото семејство клиенти. GUI за еден корисник и GUI за сите корисници имаат одделни конфигурациски директориуми, па бришењето од едниот го остава другиот недопрен и садот сѐ уште го наведува името. Programs and Features е местото каде што потврдувате дали двете се инсталирани.
Втората причина е профил што никогаш не бил во папката што сте ја провериле. Отворањето на .ovpn еднаш од мрежно споделување или од папката Downloads може да го копира во конфигурацискиот директориум за еден корисник, а увезените Connect профили постојат само во AppData. Пред да уредите нешто, побарајте го името на датотеката под %USERPROFILE% и %APPDATA%. Папката на профилот обично го држи приватниот клуч покрај .ovpn, па никогаш не ја лепете папката во тикет или разговор за да докажете кој профил сте го отстраниле - наместо тоа наведете го името на датотеката и временската ознака.
Постарите изданија на GUI ги чуваат и поставките на клиентот во регистарот. Ако садот сѐ уште наведува име откако датотеката исчезнала и присутна е само една инсталација, рестартирајте го клиентот еднаш и повторно проверете го конфигурацискиот директориум на кратенката пред да размислите да ги допрете клучевите во регистарот.
Два тунели истовремено: прво адаптерите, потоа рутата
GUI може да држи неколку врски, по една за секој виртуелен адаптер; додајте адаптери од ставката во менито Start што инсталира TAP-Windows6, потоа потврдете го бројот во Network Connections, зашто два истовремени тунели бараат два адаптера и двата треба да ја добијат својата адреса автоматски. Рутирањето е потешката граница. Два профила што секој го пренасочува целиот сообраќај се натпреваруваат за стандардната рута и само еден може да ја поседува, па добивате повремени грешки наместо два тунели што работат. Задржете еден полн тунел и дајте му на вториот split-tunnel профил што турка само сопствената подмрежа.
Преклопувачките приватни опсези не можат да се поправат со додавање адаптер. Ако двата сервера доделуваат 10.8.0.0/24, вториот тунел се судира на ниво на адреса и ниту една конфигурација на клиентот нема да ги одвои.
Имињата на адаптерите ви кажуваат во што гледате. Get-NetAdapter во PowerShell ги наведува TAP-Windows адаптерите и Wintun адаптерот по име, што е побрзо од броење икони во Network Connections кога тунелот се подигнал на погрешниот.
Стартување на именуван профил од скрипта
GUI го зема името на профилот релативно на својот конфигурациски директориум, па стартувачот изгледа вака: "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect "myvpn.ovpn". Апсолутна патека или процес стартуван во друг работен директориум тивко не успева, поради што кратенката што работи со двоен клик се крши под Task Scheduler.
Поставете го работниот директориум наместо да се надевате. Во стартувач за AutoHotkey тоа е SetWorkingDir, C:\Program Files\OpenVPN\config; во Task Scheduler тоа е полето Start in на дејството. Предавањето на --config_dir со истата патека го прави стартувачот независен од двете.
Пред да завршите, извезете го профилот, забележете го неговиот адаптер, подмрежа и подмрежата што ја рутира, и чувајте ги сертификатите на секој клиент во своја потпапка. Потоа потврдете дека папката му припаѓа на клиентот што навистина го извршувате и бришете преку клиентот кога тој клиент има складиште за увоз. Токму овој редослед го спречува истиот профил повторно да се појави по следното рестартирање.