Kimsə VPN müştərisinin yenidən qoşulmasını xahiş edir və bu istək üç fərqli məna daşıya bilər. Bu, bir autentifikasiya edilmiş sessiyanın atılması, hər müştəriyə UDP serverinin getdiyinin bildirilməsi və ya demonun özünün yenidən başladılması ola bilər. Hər birinin təsir dairəsi fərqlidir və səhv seçim bir istifadəçi üçün düzəlişi tam kəsintiyə çevirir. Əhatə dairəsi qərardır və əmr ondan irəli gəlir.

Hansı idarəetmə vasitəsini istifadə edəcəyinizi soruşmazdan əvvəl kimin təsirlənəcəyini soruşun.

Bir nüsxə: idarəetmə interfeysi

Konfiqurasiya edilmiş idarəetmə interfeysi qoşulmuş nüsxələri siyahıya ala və onlardan tam birini ata bilər. Hər sessiya müştəri identifikatoru daşıyır və client-kill CID ümumi ad deyil, həmin identifikatoru hədəf alır. Canlı identifikatoru cari status çıxışından oxuyun, çünki köhnə jurnaldan kopyalanmış dəyər artıq mövcud olmayan sessiyaya aiddir. Nüsxəni atmaq həmin bağlantını bitirir və başqa heç nəyi etmir.

Bu, yeni bağlantıya zəmanət vermir. Müştərinin qayıtması onun yenidən cəhd parametrlərindən, qalan uzaq qeydlərindən, autentifikasiya tələblərindən və nəzarət edən tətbiqin hələ işləyib-işləməməsindən asılıdır. Qayıdan müştəri yeni identifikator alır və buna görə identifikatorların müqayisəsi köhnəni yenidən ayırmağın yeganə etibarlı yoludur.

UDP çıxış bildirişi hər müştəri üçün əmr deyil

explicit-exit-notify çıxış və yenidən başlatma hadisələri barədə konfiqurasiya direktividir. UDP müştərisində qarşı tərəfə sessiyanın bitdiyini bildirir və rəqəmsal arqument bildirişin neçə dəfə təkrar ediləcəyini idarə edir. Server UDP üzərində işləyəndə qoşulmuş müştərilərinə yenidən başlatma nəzarət mesajı göndərir və sənədləşdirilmiş dəyərlər eyni serverə yenidən qoşulmağı başqa uzaq qeydə keçməkdən fərqləndirir. Bu, geniş auditoriyaya malik həyat dövrü siqnalıdır.

Orada heç nə ixtiyari anda ixtiyari müştəri seçmir. Ona yenidən qoşulma düyməsi kimi baxmaq bütün qoşulmuş sessiyalara eyni anda çatır.

Siqnallar sessiyaya deyil, prosesə təsir edir

SIGUSR1 işləyən prosesdən konfiqurasiyanı yenidən oxumadan öz bağlantısını yenidən başlatmağı xahiş edir və davamlılıq seçimləri həmin yenidən başlatmadan nəyin qalacağını müəyyən edir. SIGHUP daha uzağa gedir: konfiqurasiya faylını yenidən oxuyur və resurslarını yenidən açır. SIGTERM və SIGINT nizamlı dayandırma tələb edir. Bunlar proses səviyyəsində əməliyyatlardır: çoxmüştərili serverdə prosesin daşıdığı hər sessiyaya təsir edir, biletdə adı çəkilən sessiyaya deyil.

Proses xidmət meneceri altında işləyəndə proses siyahısında tapdığınız PID-ə siqnal göndərmək əvəzinə menecerin öz idarəetməsindən istifadə edin. Menecerin hansı siqnal göndərdiyini görmək üçün vahidi oxuyun, çünki yenidən başlatma və yenidən yükləmə eyni demona fərqli şeylər edir.

Əhatə dairəsini idarəetmə vasitəsini seçməzdən əvvəl müəyyənləşdirin

Üç sual bunu həll edir. Kim təsirlənməlidir: bir istifadəçi, bir serverin bütün müştəriləri, yoxsa demon və daşıdığı hər şey. Nə qalmalıdır: konfiqurasiya, tunel vəziyyəti, yoxsa heç biri. Kimin buna icazəsi var: idarəetmə inteqrasiyası, xidmət sahibi, yoxsa çıxış bildirişinə nəzarət edən şəbəkə operatoru. Bunlara cavab verin və yalnız bir idarəetmə vasitəsi uyğun gəlir.

Yenidən qoşulma düyməsi almaq üçün autentifikasiyasız idarəetmə dinləyicisi əlavə etmək porta çata bilən hər kəsə o düymədən qat-qat artığını verir.

Yeni sessiyanı yoxlayın, bağlantının kəsilməsini deyil

Bağlantının kəsilməsi hadisəsi köhnə sessiyanın bitdiyini sübut edir. Yeni sessiyanın autentifikasiyadan keçməsi, ünvan alması, marşrutları quraşdırması və ya istifadəçinin ehtiyac duyduğu resursa çatması barədə heç nə demir. Əvvəlcə yeni identifikatoru, sonra tunel vəziyyətini, sonra bir real resursu yoxlayın. Bu üç addım yenidən qoşulma ilə işlək bağlantı arasındakı fərqdir.

Əhatə dairəsini dəyişiklik qeydinə yazın. 'Müştərini yenidən qoşdum' ifadəsi müştəri ortaq serverdə qırx nəfərdən biri olanda təsvir deyil.

Əlaqəli məqalələr