Yalnız kiminsə sistemə daxil olmasından sonra görünən tunellər adətən həmin şəxsin sessiyası tərəfindən başladılır, avtomatik xidmət tərəfindən deyil. Adi səbəb openvpn-gui.exe işə salan başlanğıc qısayoludur və bu, pozulmuş quraşdırma deyil. Qısayol istifadəçi sessiyasının içində masaüstü tətbiqi başladır: həmin istifadəçinin profili, sertifikat anbarları və sorğuya cavab vermə imkanı ilə. Bunların heç biri bağlantını daxil olmuş insandan asılı olmayan hala gətirmir və girişdən əvvəlki tunelin tələb etdiyi də məhz budur.

Simptomun adətən üç səbəbi olur

Üç nümunə kənardan oxşar görünür və fərqli düzəlişləri var. Birincisi, icra sahibinin xidmət deyil, istifadəçi sessiyası olmasıdır; bu, başlanğıc qısayolu halıdır. İkincisi, profilin xidmətin baxmadığı yerdə yaşamasıdır; xidmət başlayır, heç nə tapmır və təmiz şəkildə çıxır. Üçüncüsü, xidmətin tapıb başlatdığı, lakin etimad məlumatlarının heç bir xidmətin verə bilməyəcəyi qarşılıqlı əlaqə tələb etdiyi profildir.

Hansının tətbiq olunduğunu müəyyən etmək iki oxunuş tələb edir: xidmətin nəyi işə salmaq üçün konfiqurasiya edildiyi və hansı faylları görə bildiyi. Hər ikisi bir əmrdir və heç biri işləyən bağlantını pozmur.

Avtomatik xidmət əslində nə oxuyur

Community avtomatik xidməti konfiqurasiya edilmiş avtomatik başlatma qovluğunu, adətən quraşdırma altındakı config-auto qovluğunu skan edən və tapdığı hər uyğun profil üçün OpenVPN prosesi başladan bir örtükdür. İstifadəçinin GUI menyusunda görünən profil isə həmin istifadəçinin dolaşan profili altında, xidmət hesabının oxumadığı qovluqda yaşayır. Windows xidmət təlimatı bu kəşfi təsvir edir və hər hansı faylı köçürməzdən əvvəl oxumağa dəyər, çünki hədəf qovluq sabit konvensiya deyil, quraşdırmanın xüsusiyyətidir. Buna görə faylı GUI qovluğuna köçürmək xidmət üçün heç nəyi dəyişmir, onu config adlanan hər qovluğa köçürmək isə düzəliş yerinə dublikatlar yaradır.

Get-Service OpenVPNService | Select-Object Status, StartType
Get-CimInstance Win32_Service | Where-Object Name -eq 'OpenVPNService' | Select-Object PathName, StartName
gci 'C:\Program Files\OpenVPN\config-auto'

Son əmr örtüyün əslində nə görəcəyini sadalayır və profilin səhv yerdə olduğunu təsdiqləməyin ən sürətli yoludur. İkinci sətir həm də xidmətin hansı hesab altında işlədiyini göstərir və bu hesab hansı fayl yollarının və sertifikat anbarlarının ümumiyyətlə əlçatan olduğunu müəyyən edir.

Niyə masaüstü girişi işləyir, yükləmə zamanı başlatma işləmir

Masaüstü uğuru giriş asılılığını uzun müddət gizlədə bilər. GUI açarla bağlı parol ifadəsini, hesab parolunu və ya ikinci amili dialoqda toplaya bilər, çünki görünən masaüstü olan interaktiv sessiyada işləyir. Xidmət isə masaüstü olmayan sessiyada işləyir, ona görə giriş sorğusunun görünəcəyi yer yoxdur və bağlantı etimad məlumatı probleminə heç bənzəməyən bir fasilədən sonra kəsilir.

Fayl girişi də eyni qaydaya tabedir. İstifadəçinin profili altında saxlanılan şəxsi açar və ya istifadəçinin şəxsi anbarındakı sertifikat maşın adından işləyən xidmət üçün əlçatan deyil. Eyni profil faylının eyni mühiti nəzərdə tutduğunu fərz etmək əvəzinə mütləq yolları, icazələri və hər tərəfin etdiyi sertifikat seçimini müqayisə edin.

İstifadəçinin daxil olub-olmadığından asılı olmayaraq işləmək üçün qurulmuş planlaşdırılmış tapşırıq oxşar məhdudiyyəti miras alır. GUI-nin icra faylını uğurla başlada bilər və yenə də heç vaxt etimad məlumatı almayan proses yarada bilər, buna görə tapşırıq menecerində prosesin olması işləyən tunelin sübutu deyil.

Bir sahib seçin və real həyat dövrünü sınayın

Daxil olmuş şəxsə aid bağlantı üçün GUI-nin dəstəklənən avtomatik başlatma davranışından istifadə edin və xidməti kənarda saxlayın. Heç kim daxil olmazdan əvvəl mövcud olmalı olan tunel üçün xidməti konfiqurasiya edin, profili örtüyün oxuduğu yerə qoyun və interaktiv parol ifadəsi olmayan açar və ya sənədləşdirilmiş etimad faylı kimi dəstəklənən nəzarətsiz etimad mexanizmindən istifadə edin.

Get-Content 'C:\Program Files\OpenVPN\log\openvpn.log' -Tail 40
Get-WinEvent -LogName Application -MaxEvents 20 | Where-Object ProviderName -like '*OpenVPN*'

Əhəmiyyətli həyat dövrünü sınayın: heç kim daxil olmadan yenidən yükləmə, sonra şəbəkə dəyişikliyindən sonra yenidən qoşulma. Bağlantı üçün bir sahib saxlayın, çünki iki rəqabətli başlatma mexanizmi adətən eyni marşrutlar və eyni server sessiyası uğrunda mübarizə aparan iki nüsxə yaradır və bunu tək bir mexanizmdən diaqnoz etmək daha çətindir.

Əlaqəli məqalələr