Izimo ezintathu zinquma ukuthi umqaphi uyasiza noma uyalimaza: lokho ucwaningo olukwazi ukukuhlukanisa, ukwehluleka okungaki okulandelanayo okuthethelela isinyathelo, nokuthi isinyathelo ukuxhuma kabusha noma ukushintsha. Umugqa we-cron o-ping ikheli lomphakathi awuziphenduli kahle zonke. Uxhuma kabusha imihubhe elungile futhi ishiye imihubhe ephukile njengoba injalo, futhi wenza kokubili ngaphandle kwanoma yiluphi ugcino. Idizayini efanele ukugcinwa yenza lezi zinqumo ezintathu zicace.

Ucwaningo yilona ngxenye enquma konke okunye.

Yini i-ping eya ku-inthanethi eyifakazelayo ngempela

Ukupinga isixazululi somphakathi kukhombisa ukuthi indlela yasendaweni ye-inthanethi iyaphila. Akufakazeli ukuthi umhubhe uthwala ithrafikhi, futhi kuphrofayela yomhubhe ogcwele i-ping ngokwayo idlula emhubheni, ngakho impendulo enempilo nomhubhe ophukile kungaba khona ndawonye ngesikhathi iklayenti lisadlulisa amaphakethe. Uma iphrofayela ithumela ukusesha kwamagama ngomhubhe, ukwehluleka kwe-DNS kufundwa njengesixhumanisi esifile futhi kuqala ukuxhuma kabusha okungeke kukwazi ukulungisa lutho.

Akukho phakathi kwezindlela ezimbili zephutha ezivela kukhodi yokuphuma. Umqaphi owakhiwe kuleso siginali uwukujikijela uhlamvu lwemali okuhleliwe nge-cron.

Hlola into ephila ngemuva komhubhe

ip -brief addr show tun0
ip route get 10.100.20.10
nc -z -w3 10.100.20.10 443

Hlola ngaphakathi, ukuhlola okushibhile kuqala. Uma isixhumanisi sikhona kusho ukuthi umhubhe uphakeme; ukusesha komzila oya ekhelini langaphakathi elaziwayo kusho ukuthi ithrafikhi izongena kulo; ukuhlola kwe-TCP kusibungu sangakolunye uhlangothi kusho ukuthi kukhona okuphendulayo ngempela. Izicelo ze-echo zodwa ziyakhohlisa: ababungu abaningi bangaphakathi baphendula ngenjabulo ku-TCP kodwa balahle i-ICMP, ngakho umqaphi owakhiwe ku-ping uxhuma kabusha umhubhe ongakaze uyeke ukusebenza.

Gcina ukuhlola kunomkhawulo wesikhathi futhi kunikeze isimo sokuphuma esihlukile. Ukuhlola okulenga imizuzwana engamashumi amathathu kuguqula umqaphi ube umtholi wokuphazamiseka onokubambezeleka okwakhelwe ngaphakathi.

Khetha phakathi komugqa owodwa ne-loop eyodwa

* * * * * nc -z -w5 10.100.20.10 443 || myvpn reconnect

Umgenelo we-cron uwumugqa owodwa ongenaso isikhumbuzo, okufanele ikhompyutha ephathwayo lapho ukuxhuma kabusha okungeziwe kungabizi lutho. I-loop eqashwe iyagcina isibali futhi yenza okuthile kuphela ngemva kokwehluleka okuningi, okuvimbela isixhumanisi esingazinzi ekudaleni isiphepho sokuxhuma kabusha. Kunoma yikuphi, yiqhube ngaphansi komqaphi ukuze iphume ekwehleni futhi ibhale kujenali. Khetha ngokuthi ukuxhuma kabusha okungadingekile kubalulekile yini, hhayi ngokuthi iluphi uhlobo olufushane.

failures=0
while sleep 30; do
  if nc -z -w5 10.100.20.10 443; then failures=0
  else failures=$((failures+1)); fi
  if [ $failures -ge 3 ]; then myvpn reconnect; failures=0; fi
done

Leyo loop ibala ukwehluleka okulandelanayo hhayi ingxenye yesikhathi. Iwindi lidinga iwashi kanye nesikhumbuzo samasampuli, futhi iningi lamaphutha kumaqaphi abhalwe ngesandla ahlala kuleyo zibalo.

Ukushintsha iseva kuyisinqumo esihlukile

Ukushintsha iseva kuhlukile ekuxhumiseni kabusha. Qeda ukuxhumana okudala kuqala, ngoba iklayenti lesibili eliqala ngesikhathi elokuqala lisabambe ikheli lizoshayisana. Bala ukwehluleka okulandelanayo ngaphambi kokushintsha, beka umkhawulo emizamweni, futhi uhlole futhi uma ukuxhumana okusha sekuphezulu esikhundleni sokuthemba isimo sokuphuma somyalo we-connect. Ukuhlelwa okungalungile akufanele kuzulazule kuyo yonke iseva ku-loop.

Ungahloli ikheli lomphakathi leseva ye-VPN uqobo ngaphakathi komhubhe ogcwele. Lokho kuhlola kuncike entweni ekuhlolayo, futhi kubika impumelelo ngesikhathi indlela okwakufanele iqinisekiswe isingasekho.

Bhala phansi ukuthi yikuphi ukuhlola okwagijima, kwabuyisa ini nokuthi yisiphi isinyathelo esalandela. Lokho kubhalwa kuguqula ukuxhuma kabusha okuyimfihlakalo kube isehlakalo esingatholwa.

Izihloko ezihlobene