Hansı openvpn binary işləyir? Başlatma yolunu yoxlayın
Əmr adı, xidmət yolu və paket faylı üç fərqli obyekt ola bilər. Başlatma yolunu yoxlayın, paket fayllarını təsdiqləyin, sonra wrapper-i silin.
Köhnə bir iş ətrafı OpenVPN icra faylını başqa yerə köçürmüş və orijinal yolda shell wrapper saxlamışdı. Aylar sonra yeniləmə gəlir və iş ətrafını geri qaytarmaq hansı faylın həqiqətən klient olduğu barədə təxmin oyununa çevrilir. Əmr adı, xidmətin konfiqurasiya etdiyi icra faylı və paketin öz fayl siyahısı hamısı fərqli obyektlərə işarə edə bilər və birini digərləri olmadan təmir etmək düzəldilmiş görünən, amma daha pis davranan host yaradır.
Xidmətin başlatdığı yoldan başlayın
Terminal və systemd vahidi icra fayllarını eyni cür həll etmir. Shell PATH-da axtarır; vahid yol adlandırır və drop-in əvəzləmələri oxuduğunuz fayla toxunmadan onu dəyişə bilər. Bu fərq bu tapşırıqdakı çaşqınlığın çoxunu izah edir. O, həm də təmirinizin hansı faylı hədəf alması lazım olduğunu müəyyən edir.
Vahiddən nə işlətdiyini soruşun, onu dəyişən drop-in-lər daxil olmaqla, və səlahiyyətli saydığınız parça yerinə nəticədə çıxan ExecStart sətrini oxuyun. Sonra həmin yolu istənilən simvolik keçiddən keçib son fayla qədər izləyin. Gizli qovluğa exec ilə bitən wrapper bu köhnə düzəlişlərin adi nəticəsidir.
Hər nəyi dəyişməzdən əvvəl həll edilmiş yolu yazın.
systemctl cat [email protected] | grep -n 'ExecStart'
readlink -f "$(command -v openvpn)"Əmr adını xidmət yolu ilə müqayisə edin
İki cavab tez-tez fərqlənir və bu fərq avtomatik olaraq qüsur deyil. NetworkManager plagini öz yolunu başlada bilər, konteyner isə başqa birini quraşdıra bilər.
Vacib olan trafiki xidmət edən prosesi hansı sahibin başlatdığını bilməkdir. Vahid /usr/local/sbin/openvpn-wrapper işlədirsə, amma shell-iniz /usr/sbin/openvpn həll edirsə, ikinci faylı düzəltmək xidmətdə heç nəyi dəyişmir.
Hər namizədin hansı paketə aid olduğunu soruşun, sonra faylın paketlə idarə olunduğuna yoxsa yerli olaraq yerləşdirildiyinə qərar verin. Sahibsiz paketi olan fayl kimsə tərəfindən qəsdən ora qoyulmuş fayldır və silinməzdən əvvəl ad, sahib və səbəbə layiqdir. Əks səhv də geniş yayılmışdır: forum yazısı eyni qovluqdan istifadə etdiyi üçün paket faylının köhnə saxlanmış binary ilə üzərinə yazmaq.
Paket faylları barədə paket verilənlər bazası danışsın
Proqram Debian paketindən gəlibsə, paket verilənlər bazası fayllarının quraşdırılana hələ uyğun olub-olmadığını deyə bilər. Bu dar bütövlük sualıdır, təhlükəsizlik hökmü deyil və fərq nəyi təmir edəcəyinizə qərar verərkən vacibdir. Uyğunsuzluq faylın quraşdırmadan sonra dəyişdiyini bildirir; bu sizin köhnə iş ətrafınız və ya qanuni yerli düzəliş ola bilər. Çıxış hansının olduğunu həll etmir, ona görə onu nəticə yox, göstərici kimi oxuyun.
Yoxlamanı işə salın və boş nəticəni hər hansı sübut kimi qəbul etmək yerinə çıxışı oxuyun.
dpkg -S /usr/sbin/openvpn
dpkg --verify openvpndpkg təlimatı sənədləşdirir ki, yoxlama quraşdırılmış faylları yerli qeydə alınmış metadatalarla müqayisə edir və mövcud olduqda saxlanmış yoxlama cəmlərindən istifadə edir. O, dəyişmiş paket faylını görür və onun yerinə başqa binary-nin işə salınıb-salınmadığını deyə bilmir.
Təmirdən əvvəl vəziyyəti qeyd edin
Həll edilmiş başlatma yolunu, faylın paket əlaqəsini, wrapper-in yerini və onu gətirən dəyişiklik qeydini toplayın. Sonra lazım olacaq inteqrasiya işi varsa, wrapper-i qorunan yerə kopyalayın.
Wrapper məzmununu oxumadan dəstək mövzusuna yapışdırmayın, çünki bu skriptlər bəzən etimad məlumatları və ya gateway detalları daşıyır.
İşləyərkən xidmətin hansı profillərdən istifadə etdiyini və kimin qoşulduğunu qeyd edin, çünki tunelin yenidən başladılması hostu idarə etdiyiniz sessiyanı kəsə bilər.
Başlatmanı yoxlayın, sonra wrapper-i silin
Təmirdən sonra xidməti başladın və prosesin nəzərdə tutduğunuz yolda işlədiyini təsdiqləyin. Əllə icra edilən versiya sorğusu faylın işlədiyini sübut edir; vahidin ondan istifadə etdiyini sübut etmir.
Sonra klienti yenidən qoşun və profilin hələ də autentifikasiya etdiyini yoxlayın, çünki orijinal seçimləri nəzərə almayan binary dəyişməsi sertifikat problemə bənzəyən şəkildə uğursuz olacaq.
Yerdəyişmiş wrapper-i onu gətirən dəyişiklik qeydi ilə eyni şəkildə silin. Bitmiş təmir hansı icra faylının işlədiyini, niyə işlədiyini və hansı faylın silindiyini bildirir; fayl adını bərpa edib ümid etmək eyni şey deyil.