OpenVPN на Windows-у: аутоматско покретање тунела и задржавање рута
Windows услуга може да подигне тунел пре него што се било ко пријави, а гурнута рута држи префикс локације само док је веза активна.
Овде се преплићу два захтева: тунел треба да се подигне пре него што се било ко пријави, а саобраћај за другу локацију треба да га прати. То су одвојени проблеми са одвојеним механизмима. Покретање услуге одлучује први, а животни век руте други. Решавање једног оставља друго тачно тамо где је било.
Први корак: сместите профил тамо где га услуга тражи
Windows услуга чита профиле из фиксног директоријума, а GUI чита са истог места, па профил који ради при увозу и даље може бити невидљив при подизању система. Ставите датотеке .ovpn у config директоријум инсталације, који се обично налази под Program Files. Профил остављен у корисниковој фасцикли Downloads уопште није у домену услуге.
Старија упутства упућују на фасциклу config-auto, коју су неке градње из ере 2.5 поштовале, а каснија издања нису. Зато надоградња може претворити исправно аутоматско покретање у тишину, без ичега у дневнику о акредитивима. Потврдите који директоријум инсталирана градња заправо чита пре него што преместите било које датотеке.
Кад на једном рачунару има више профила, дајте свакоме именовани адаптер кроз dev-node. Иначе се такмиче за исто сучеље и други не успева на начин који изгледа као проблем са акредитивима.
Други корак: покрените услугу, а не икону у системској траци
Постављање услуге OpenVPN на Automatic чини да се покреће при подизању система без пријаве. То је механизам, а икона у траци није његов део. Кад услуга поседује везу, GUI можда неће приказати ни икону ни статус, што је очекивано, а не квар.
Последица је да прекид значи заустављање услуге, а не клик на Disconnect. Реците то ономе ко одржава рачунар, иначе ће први позив подршци бити због иконе која недостаје.
Проверите може ли налог услуге да чита профил и кључни материјал. Проблем са дозволама при подизању у дневнику изгледа тачно као неуспела аутентификација.
Трећи корак: вежите руту за тунел
Трајни унос је погрешан алат овде. Додавање руте са -P чини да преживи поновна покретања и, још горе, да преживи затварање тунела. Кад је VPN искључен, префикс и даље показује на пролаз који више не постоји, па домаћин не може доћи до тог одредишта док неко не избрише унос.
Три алтернативе понашају се исправно. Гурните руту са сервера, који је додаје при повезивању и уклања при прекиду. Додајте је у route-up скрипту која чита route_vpn_gateway, па следећи скок долази из договореног тунела. Или користите Add-VpnConnectionRoute са изворним Windows VPN профилом, који везује префикс за ту везу.
Кад сервер нуди више него што је овој локацији потребно, route-nopull одбија гурнуте руте и оставља табелу потпуно локалном. То одговара дељеном профилу чији корисници не смеју добити корпоративну подразумевану руту.
Четврти корак: преживите хладно подизање
Покретање услуге пре него што мрежни стек постоји даје један неуспели покушај и никакво понављање. Постављање на Automatic (Delayed Start) или додавање зависности од мрежне услуге уклања ту трку. Затим поновите тест подизања и проверите да други покушај више није потребан.
Промене рута и адаптера захтевају администраторска права. Пречица за покретање по кориснику их нема, па скрипта која ради из подигнуте љуске може при пријави тихо да не уради ништа. Закажите је као задатак са највишим привилегијама или препустите промену услузи. Затим је тестирајте као корисник који ће се заиста пријавити.
Тестирајте след који заиста постављате, а не онај који можете покренути ручно. Хладно подизање једини је тест који проверава редослед.
Пети корак: проверите без GUI-ја
После поновног покретања и пријаве, проверите три ствари без отварања GUI-ја. Адаптер треба да има адресу,табела рута треба да приказује префикс локације са пролазом тунела као следећим скоком, а ping на адресу са друге стране треба да одговори. Свака провера одговара другом механизму из корака горе.
Кад се адаптер никада не појави, сумњив је драјвер, а не профил. Та два квара у дневнику не личе нимало, и само један од њих реагује на поновну инсталацију софтвера.