Tliet kundizzjonijiet jiddeċiedu jekk għassa tgħinx jew tagħmel ħsara: x’tista’ tiddistingwi l-verifika, kemm fallimenti konsekuttivi jiġġustifikaw azzjoni, u jekk l-azzjoni hijiex qagħda mill-ġdid jew tibdil. Linja cron li tagħmel ping lil indirizz pubbliku ma tweġibx tajjeb lil ħadd minnhom. Hija terġa’ tqabbad miniet li huma tajbin u tħalli miniet miksura, u tagħmel it-tnejn mingħajr ebda rekord. Id-disinn li jistħoqqlu jinżamm jagħmel dawn it-tliet għażliet espliċiti.

Il-verifika hija l-parti li tiddetermina kollox l-ieħor.

X’jipprova verament ping lejn l-internet

Li tagħmel ping lil resolver pubbliku juri li t-triq lokali tal-internet hija ħajja. Ma jipprovax li l-mina qed iġġorr traffiku, u fi profil ta’ mina sħiħa l-ping innifsu jgħaddi mill-mina, għalhekk tweġiba sana u mina miksura jistgħu jikkoeżistu waqt li l-klijent għadu jibgħat pakketti. Jekk il-profil jibgħat it-tfittxijiet tal-ismijiet mill-mina, falliment DNS jinqara bħala konnessjoni mejta u jibda qagħda mill-ġdid li ma tistax issewwi xejn.

L-ebda waħda miż-żewġ direzzjonijiet tal-iżball ma tidher fil-kodiċi tal-ħruġ. Għassa mibnija fuq dak is-sinjal hija tfigħ ta’ munita bi skeda cron.

Iċċekkja xi ħaġa li tgħix wara l-mina

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

Iċċekkja minn ġewwa, l-irħas verifika l-ewwel. Jekk l-interface teżisti, il-mina hija mtellgħa; tfittxija ta’ rotta lejn indirizz intern magħruf tgħid li t-traffiku jidħol fih; verifika TCP lil host fuq in-naħa l-oħra tgħid li xi ħaġa verament twieġeb. Talbiet echo biss iqarrqu: ħafna hosts interni jwieġbu bil-qalb lil TCP iżda jarmu ICMP, għalhekk għassa mibnija fuq ping terġa’ tqabbad mina li qatt ma waqfet taħdem.

Żomm il-verifika limitata fiż-żmien u agħtiha status tal-ħruġ separat. Verifika li ddendel tletin sekonda tbiddel għassa f’ditektur ta’ qtugħ b’dewmien mibni ġewwa.

Agħżel bejn linja waħda u linja ripetuta

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

Entrata cron hija linja waħda bla memorja, li taqbel ma’ laptop fejn qagħda mill-ġdid żejda ma tiswiex xejn. Linja ripetuta taħt superviżjoni żżomm kontatur u taġixxi biss wara diversi fallimenti, li jwaqqaf konnessjoni mqallba milli tqajjem maltempata ta’ qagħdiet mill-ġdid. Fi kwalunkwe każ, ħaddimha taħt superviżur biex tgħaddi minn crash u tikteb fil-journal. Agħżel skont jekk qagħda mill-ġdid żejda hijiex importanti, mhux skont liema verżjoni hija iqsar.

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

Dik il-linja ripetuta tgħodd fallimenti konsekuttivi minflok frazzjoni fuq tieqa. Tieqa teħtieġ arloġġ u memorja ta’ kampjuni, u ħafna mill-bugs f’għases mibnija bl-idejn jgħixu f’dik l-aritmetika.

It-tibdil tas-server hija deċiżjoni oħra

Li tbiddel is-server huwa differenti milli terġa’ tqabbad. L-ewwel ċarrat il-konnessjoni l-qadima, għax it-tieni klijent li jibda waqt li l-ewwel għadu jżomm l-indirizz se jaħbat. Għodd fallimenti konsekuttivi qabel tbiddel, illimita l-attentati, u erġa’ ċċekkja meta l-konnessjoni l-ġdida tkun mtellgħa minflok tafda fl-istat tal-ħruġ tal-kmand connect. Konfigurazzjoni żbaljata m’għandhiex iddur fuq kull server f’linja ripetuta.

Tiċċekkjax l-indirizz pubbliku tas-server VPN innifsu minn ġewwa mina sħiħa. Dik il-verifika tiddependi fuq il-ħaġa li qed tittestja, u tirrapporta suċċess waqt li t-triq li kellha tivvalida diġà marret.

Irreġistra liema verifika ġriet, x’ritornat u liema azzjoni segwiet. Dak ir-rekord ibiddel qagħda mill-ġdid misterjuża f’avveniment li jista’ jiġi dijanjostikat.

Artikli relatati