OpenVPN lokal ünvan bağlaması yüklənmədə uğursuz olur: gözləmə, yoxsa təkrar cəhd
Lokal ünvan hələ hazır deyilsə, OpenVPN bağlaya bilmir. Məhdud gözləməni yenidən başlatma siyasəti ilə müqayisə edin və network-online.target-in niyə zəmanət olmadığını görün.
Yüklənmədə başlamayan OpenVPN serveri üçün iki həll təklif olunur: ünvanı gözləmək və ya xidmətin bağlama uğurlu olana qədər təkrar cəhd etməsinə icazə vermək. İkisi də eyni simptomu fərqli uğursuzluq davranışı ilə həll edir. Gözləmə konkret bir ilkin şərti kodlaşdırır və o yoxdur deyə yüksək səslə uğursuz olur; təkrar cəhd ilkin şərti gizlədir və cəhd etməyə davam edir. Hansının sizin systemd bölməsinə aid olduğu, həmin ünvanın dizayn edilmiş asılılıq, yoxsa vaxt təsadüfü olmasından asılıdır.
Hər ikisi sabit yuxudan yaxşıdır, çünki o nə heç nəyi gözləyir, nə də nəyi gözlədiyini bildirir.
local seçiminin əslində tələb etdiyi şey
local demonun soketini bağladığı ünvanı adlandırır və hələ mövcud olmayan ünvana bağlama dərhal tələb olunan ünvan barədə xəta ilə uğursuz olur. Seçim yox olduqda demon bütün ünvanlarda dinləyir, buna görə də eyni profil interfeysi hələ qalxmamış maşında işləyir: adlandırdığınız bir ünvan əvəzinə hər yerdə dinləyir. Bu fərq bütün uğursuzluqdur və yenidən yüklənməyə qədər görünməz qalır.
Tələb interfeysin ümumi mənada qalxması deyil. Ünvan bağlama anında düzgün interfeysə təyin edilməlidir və bu, eyni demonun sonra yaradacağı tunel deyil, altlıq interfeys olmalıdır. Daxil olduqdan dəqiqələr sonra aparılan yoxlama yüklənmə ardıcıllığı barədə heç nə sübut etmir.
Ünvanı gözləmək, yoxsa bağlamanı təkrar cəhd etmək
Gözləmə ünvan görünənə qədər sorğu göndərən, məhdud sayda cəhd edən və vaxt bitəndə sıfırdan fərqli çıxış verən ExecStartPre deməkdir. Təkrar cəhd əsas prosesin uğursuz olmasına icazə verib xidmət menecerindən onu yenidən başlatmasını istəməkdir, məsələn Restart=on-failure ilə RestartSec=5. Birincisi çatışmayan ilkin şərti uğursuz bölmə kimi bildirir, ikincisi isə onu nəhayət dayanan təkrar başlatmalar silsiləsi kimi bildirir; bu jurnalda daha səs-küylüdür, amma proqnozlaşdıra bilmədiyiniz səbəblərdən gec gələn ünvana tab gətirir.
Ünvan dizayn edilmiş asılılıqdırsa gözləməyə üstünlük verin, ünvan adətən görünür amma vaxtı dəyişirsə təkrar cəhdə üstünlük verin. Onları birləşdirmək məquldur: məhdud gözləmə adi halı, yenidən başlatma siyasəti isə kənar halı əhatə edir. Heç biri əbədi işləməməlidir, çünki sonsuz təkrar cəhd edən bölmə səhv konfiqurasiyanı bildirmək əvəzinə gizlədir.
Niyə network-online.target kifayət etmir
network-online.target aktiv şəbəkə tətbiqinin onlayn mənasına uyğun hər şeyi vəd edir, ondan artığını yox. systemd-networkd ilə systemd-networkd-wait-online həmin hədəfin nə vaxt çatdığını müəyyən edir və onun defolt onlayn anlayışı sizin konkret ünvanınız mövcud olmadan öncə ödənilə bilər. NetworkManager altında wait-online xidməti öz qaydalarını tətbiq edir. Hədəfdən sonra sıralanma sağlam əsasdır, bir ünvanın, DNS cavabının və ya uzaq həmsöhbətin hazır olmasına zəmanət deyil.
Eyni məntiq adi alternativləri istisna edir. Masaüstü avtostart qeydi serverdə heç vaxt açılmaya biləcək istifadəçi sessiyasını gözləyir, gecikdirilmiş cron əmri isə görünəcəyini ümid etdiyi resursu adlandırmadan keçən vaxt əlavə edir. Hər ikisi aylarla uğurlu görünə və sonra vacib olan tək yüklənmədə uğursuz ola bilər.
Soyuq yüklənmədən sonra bağlamanı yoxlayın
Xidmətin yenidən başladılması ilə deyil, həqiqi soyuq yüklənmə ilə yoxlayın, çünki yenidən başlatma yüklənmə ardıcıllığının yaratmalı olduğu ünvanı miras alır. Yüklənmədən sonra ss -lntp və ya ss -lunp hər dinləyicinin faktiki bağladığı lokal ünvanı, journalctl -b -u openvpn-server@server isə ilk cəhdin uğursuz olub-olmadığını göstərir. Bağlanmış ünvanı profildəki ilə müqayisə edin, sonra şəbəkə yenidən qoşulduqdan sonra müqayisəni təkrarlayın.
Profil heç vaxt sabit ünvana ehtiyac duymayıbsa, local silmək qanuni sadələşdirmədir, amma bunu nasazlıq aradan qaldırma vərdişi deyil, təhlükəsizlik qərarı edin.
Dinləyicinin genişləndirilməsi ona kimin çata biləcəyini dəyişir, ona görə də bu dəyişikliyi onu məhdudlaşdırmalı olan firewall siyasəti ilə birləşdirin. Hər interfeysdə etibarlı başlayan xidmət ilkin problemi həll etməyib; problemi şəbəkə kənarına köçürüb.