Yuxu qarmağı tək başına VPN-i geri qaytarmır
Sıfırla çıxan qarmaq yalnız skriptin işlədiyini sübut edir. Onu şəbəkədən sonra sıralayın, düzgün kimlikdən istifadə edin və profilin ümumiyyətlə uyğun olub-olmadığını yoxlayın.
Yuxu qarmağına yenidən qoşulma əmri qoyun və problem həll olunmuş görünür. O, yalnız qarmaq şəbəkə mövcud olduqdan sonra, müştərinin tanıdığı kimliklə və müştərinin həqiqətən tətbiq etdiyi yolla işlədikdə həll olunur. Oyanışdan sonrakı nasazlıqların əksəriyyəti bu üçündən biridir və heç biri qarmağın özündə xəta kimi görünmür. Qarmaq hər halda uğur qaytarır.
Sıfırla çıxan skript tunelin geri qayıdıb-qayıtmadığı barədə sizə heç nə deməmişdir.
Qarmaq işləyir, bəs sonra?
#!/bin/sh
case "$1" in
pre)
vpn-client disconnect
;;
post)
vpn-client connect
;;
esac
Hər hadisə qarmağı iki dəfə çağırır — keçidin qabağında və arxasında — və ona fazanı və hadisə adını verir. O, root kimi minimal mühitdə işləyir, buna görə mütləq yollar lazımdır və heç bir masaüstü sessiya dəyişəni gözlənilməməlidir. Hər iki çağırışın tez qayıtması yalnız skriptin işlədiyini bildirir. Profilin sonra qalxıb-qalxmadığı ayrı bir müşahidədir və logda öz sübutunu tələb edir.
Faza arqumentini dizaynın bir hissəsi kimi qəbul edin. pre fazasında yenidən qoşulma cəhdi maşın hər şeyi itirmək üzrəykən baş verir və uğur qazana bilməz.
Root, minimal mühit, səhv istifadəçi
Əgər müştəri giriş tokenini istifadəçi üzrə saxlayırsa, qarmağı root kimi işlətmək ona təqdim edəcək heç nə qoymur. Vəziyyəti qarmağın həqiqətən istifadə etdiyi kimlik altında yoxlayın, masaüstü terminalından sınaqdan keçirdiyiniz kimlik altında deyil. Bəzi buraxılışlar ayırmadan sonra interfeysi tutan demon da qoyur, buna görə yenidən qoşulma köhnəlmiş vəziyyətə düşür və prosesi əvvəlcə təmizləmək onu qeyri-təmiz bağlanma hesabına bərpa edir. Yalnız xoşbəxt yolu sınaqdan keçirsəniz, nə bu, nə də o davranış görünmür.
Qarmağı mütləq yollarla yazın, onu root-a məxsus və icra edilə bilən saxlayın və nə etdiyini loga yazın. O log olmadan növbəti araşdırma sıfırdan başlayır.
Avtomatik qoşulma VPN yolu deyil
NetworkManager iki aktivləşdirmə mexanizmi təklif edir: profildə avtomatik qoşulma bayrağı və əsas profil aktivləşdikdə başlayan ikincili bağlantılar. Yerli cihaz növləri birincini tətbiq edir; VPN plaginləri tarixən yalnız ikincini tətbiq edib, buna görə OpenVPN profilində avtomatik qoşulmanı işarələməyin heç bir təsiri olmaya bilər. Hər iki xassəni yoxlayın, sonra VPN-i Wi-Fi və ya Ethernet profilinə ikincili olaraq əlavə edin.
[Unit] PartOf=NetworkManager.service Requires=NetworkManager-wait-online.service After=NetworkManager-wait-online.service
systemd vahidi ilə idarə olunan WireGuard interfeysi qarmaq yerinə həmin əlavə fayla ehtiyac duyur və şəbəkə onlayn olduqdan sonra sıralanmalıdır.
Şəbəkəni gözləyin, tavanla
timer=1 while ! ping -c1 -n -w1 203.0.113.1 >/dev/null; do sleep 1; timer=$((timer+1)) [ $timer -ge 300 ] && exit 0 done nmcli connection up "work-vpn"
Oyanışda tunel Wi-Fi hələ yenidən assosiasiya edərkən tələb oluna bilər, bu da hər hansı sabit yuxunu təxminə çevirir. Əlçatan ünvanı gözləyin, sonra profili qaldırın və gözləməni məhdudlaşdırın ki, qarmaq oyanış yolunu qeyri-müəyyən müddət açıq saxlaya bilməsin. Profil adını rəqəmli indeksdən üstün tutun və düzgün profil şəbəkəyə görə dəyişirsə, sağlam tunel seçimini əvvəlcədən fayla yazsın.
Yenidən başlatma fırtınalarına da qarşı durun: cəhdləri sayın və dayanın. Hər uğursuz yoxlamaya reaksiya verən nəzarətçi bir kəsintini dövrəyə çevirir.
Bir dəfə dayandırın, sonra jurnalda qarmağın öz çıxışını oxuyun. Sıralamanı sübut edən yeganə test budur.