Niyə VPN vahidi şəbəkədən əvvəl başlayır və sonra ölür
Bağlantı hələ ünvan almadığı halda başlayan vahid təsadüfi görünən bir şəkildə uğursuz olur. Jurnaldan sıranı sübut edin, sonra gözləmə və yenidən cəhdi əlavə edin.
Maşını yükləyin, daxil olun və tunelin qalxdığını, bir neçə saniyə sonra isə öldüyünü öyrənin. Profil qaydasında idi, sertifikat qaydasında idi və yeganə qalan iz həmin yükləmənin jurnalıdır. Adətən baş verən şey yarışdır: vahid maşının ünvanı olmamışdan əvvəl başladı və elan etdiyi sıra göründüyü məna daşımırdı. Aşağıdakıların hamısı bu yarışı sübutlardan isbat etmək və onu düzgün bağlamaqdan bəhs edir.
Hədəf görüş nöqtəsidir, menecer deyil
network-online.target şəbəkənin nə olduğunu bilmir. O, bağlantı istifadəyə yararlı olana qədər başlanğıcı gecikdirməli olan hər hansı xidməti toplayan və tərifi maşına sahib olan şəbəkə menecerinə həvalə edən koordinasiya nöqtəsidir. Əksər masaüstü və serverlərdə bu, NetworkManager və ya systemd-networkd tərəfindən verilən gözləmə xidməti deməkdir. Heç birini aktivləşdirməsəniz, hədəfin gözləyəcəyi heç nə olmur, ona görə də nə vaxtsa onu dartan kimi tamamlanır və bu, DHCP cavab verməzdən xeyli əvvəl ola bilər. Vahidinizdəki sıra sətri səmimi idi və yenə də faydasız idi.
Deməli, ilk sual vahidinizin nə elan etdiyi deyil. Sual, bu maşında gözləməni həqiqətən hər hansı bir şeyin edib-etməməsidir.
Vahid faylını deyil, son yükləməni oxuyun
Vahid faylları niyyəti təsvir edir, jurnal isə baş verəni. Yalnız həmin yükləməni, monoton vaxt damğaları ilə istəyin ki, hər mesaj bir saatda otursun. Sonra iki sətir tapın: tunel vahidinin başlama anı və ünvanın göründüyü və ya gözləmə xidmətinin bitdiyi an. Bu iki ədədi sıralayın və yarış ya təsdiqlənir, ya da istisna olunur.
Asılılıq görünüşü bunu təsdiqləyir. Əgər tunel vahidi üçün kritik zəncirdə gözləmə xidməti yoxdursa, o yolda heç nə başlanğıcı gecikdirməyib və hədəf sizin güman etdiyiniz işi görməyib. İki görünüş, bir nəticə.
systemctl list-units --type=service --state=running | grep wait-online
journalctl -b -o short-monotonic -u openvpn-client@office
Gözləməni, sonra yenidən cəhdi əlavə edin
Paketləşdirilmiş vahidi redaktə etmək əvəzinə drop-in istifadə edin ki, paket yeniləməsi dəyişikliyi səssizcə atmasın. İki direktiv vacibdir: vahid hədəfdən sonra sıralanmalı və hədəfi eyni tranzaksiyaya dartmalıdır. Tək sıralama hədəfi çağırmır; onu istəmək çağırır.
Paketləşdirilmiş OpenVPN müştəri vahidi artıq hər ikisini daşıyır. Əl ilə yazılmış vahidlər adətən birini və ya heç birini daşıyır, buna görə nəsə əlavə etməzdən əvvəl bunu yoxlamağa dəyər.
[Service]
Restart=on-failure
RestartSec=15
Niyə sabit yuxu tələdir
ExecStartPre içində yuxu sıra düzəlişi kimi hiss olunur və əlavə addımlarla gecikmə kimi davranır. O, hər yükləməni, o cümlədən sağlam olanları ləngidir və bağlantı seçdiyiniz rəqəmdən daha çox vaxt aparanda yenə uduzur.
Daha pisi, gözləmə xidmətinin işləyib-işləmədiyini gizlədir, ona görə növbəti uğursuzluq eyni problemin fərqli vaxtda təkrarı kimi deyil, tamamilə yeni problem kimi görünür. Qısa yenidən başlatma gecikməsi daha yaxşı alətdir: sağlam yükləmədə heç nəyə başa gəlmir və uduzulmuş yarışı başqa cəhdə çevirir. Aralığı təvazökar saxlayın və vahidin uğur qazanmasına imkan verin. Əgər sonsuza qədər yenidən başlayırsa, profil xarabdır və nə qədər cəhd etsəniz də bu dəyişməyəcək, ona görə aralığı artırmaq əvəzinə jurnalı oxuyun.
Sıra düzgün olanda və adlar yenə də uğursuz olanda
Tunel marşrutu olan aktiv vahid sıranın öz işini gördüyünü və qalan nasazlığın bir qat yuxarıda olduğunu bildirir. Adi forma, tunelin up skriptinin bağlantı və ya həlledici onu saxlamağa hazır olmamışdan əvvəl tətbiq etdiyi həlledici ayarıdır. Uğursuzluq zamanı həlledicinin vəziyyətini tunel vahidinin yenidən başladılmasından sonrakı vəziyyətlə müqayisə edin.
Əgər yenidən başlatma axtarışları düzəldirsə, sizdə səhv DNS serveri deyil, başlanğıc sırası qüsuru var və bu ikisi fərqli düzəlişlər tələb edir. Sonra bütün məsələni xidmətin yenidən başladılması ilə deyil, soyuq yükləmə ilə sübut edin, çünki yenidən başlatma artıq işləyən şəbəkə üzərində gedir və məhz axtardığınız qüsuru gizlədəcək. Bunu bağlantı qəsdən yavaş olarkən təkrarlayın və yalnız şəbəkə sürətli olanda işləyən vahidi hələ də xarab sayın.