Saka umarnin sake haɗawa a cikin hook ɗin bacci kuma matsalar ta yi kama da an warware. Ana warware ta ne kawai idan hook ɗin ya gudana bayan hanyar sadarwa ta kasance, a matsayin asalin da abokin ciniki ya gane, ta hanyar da abokin ciniki ke aiwatarwa da gaske. Yawancin gazawa bayan farkawa ɗaya ne daga cikin waɗannan uku, kuma babu ɗayansu da ke bayyana a matsayin kuskure a cikin hook ɗin kansa. Hook ɗin yana mayar da nasara ko ta yaya.

Script da ke fita da sifili bai gaya maka komai ba game da ko wani rami ya dawo.

Hook ɗin yana gudana, sannan me?

#!/bin/sh
case "$1" in
  pre)
    vpn-client disconnect
    ;;
  post)
    vpn-client connect
    ;;
esac

Kowane abin da ya faru yana kiran hook ɗin sau biyu, gabanin sauyin da bayansa, yana ba shi matakin da sunan abin da ya faru. Yana gudana a matsayin root da ƙaramin yanayi, don haka ana buƙatar cikakkun hanyoyi kuma ba a tsammanin wani canjin zaman tebur ba. Komawar kiran biyu da sauri yana faɗin kawai cewa script ɗin ya gudana. Ko bayanin ya tashi bayan haka, wannan wani lura ne daban kuma yana buƙatar shaidarsa a cikin log ɗin.

Dauki hujjar mataki a matsayin ɓangare na ƙira. Ƙoƙarin sake haɗawa a matakin pre yana faruwa yayin da injin ke gab da rasa komai, kuma ba zai iya yin nasara ba.

Root, ƙaramin yanayi, kuskuren mai amfani

Idan abokin ciniki yana riƙe da alamar shiga ga kowane mai amfani, gudanar da hook ɗin a matsayin root yana bar shi da babu abin da zai gabatar. Duba yanayin a ƙarƙashin asalin da hook ɗin ke amfani da shi da gaske, ba wanda ka gwada daga tashar tebur ba. Wasu gine-gine suna kuma barin daemon yana riƙe da mu'amala bayan cire haɗi, don haka sake haɗawa yana faɗowa cikin tsohon yanayi, kuma share tsarin da farko yana mayar da shi a kan farashin rufewa marar tsabta. Babu ɗayan halayen da ake gani idan ka gwada hanyar farin ciki kawai.

Rubuta hook ɗin da cikakkun hanyoyi, riƙe shi mallakar root kuma mai iya gudana, kuma yi log ɗin abin da ya yi. Idan babu wannan log ɗin bincike na gaba zai fara daga sifili.

Haɗin kai kai ba hanyar VPN ba ce

NetworkManager yana ba da hanyoyin kunnawa biyu: tutar haɗin kai a kan bayanin, da haɗin kai na biyu waɗanda ke farawa lokacin da babban bayani ya kunna. Nau'in na'urori na asali suna aiwatar da na farko; ƙarin VPN a tarihi sun aiwatar da na biyu kawai, don haka yi wa alama haɗin kai kai a kan bayanin OpenVPN na iya zama ba shi da wani tasiri kwata-kwata. Duba dukansu kaddarorin, sannan haɗa VPN ɗin a matsayin na biyu na bayanin Wi-Fi ko Ethernet maimakon.

[Unit]
PartOf=NetworkManager.service
Requires=NetworkManager-wait-online.service
After=NetworkManager-wait-online.service

Mu'amalar WireGuard da wani rukunin systemd ke gudanarwa tana buƙatar wannan ƙarin fayil maimakon hook, an tsara shi bayan hanyar sadarwa ta kasance kan layi.

Jira hanyar sadarwa, da iyaka

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"

A lokacin farkawa ana iya neman ramin yayin da Wi-Fi ke sake haɗawa, wanda ke mai da kowane baccin da aka ƙayyade zato. Jira adireshin da za a iya isa, sannan ka ɗaga bayanin, kuma ka iyakance jira domin hook ba zai iya riƙe hanyar farkawa a buɗe har abada ba. Fi son sunan bayanin maimakon ma'aunin lamba, kuma idan daidai bayanin ya bambanta bisa ga hanyar sadarwa, bari ramin lafiyayye ya rubuta zaɓinsa a cikin fayil tukuna.

Ka kuma kare kanka daga guguwar sake farawa, ta hanyar ƙidaya ƙoƙari da tsayawa. Mai tsaro da ke amsa kowane gwaji da ya ci tura yana mai da gazawa ɗaya cikin madauki.

Dakatar da na'urar sau ɗaya, sannan karanta jaridar don fitar da hook ɗin kansa. Wannan ne kawai gwajin da ke tabbatar da tsari.

Labarai masu alaƙa