Хянагч тус болж байна уу, хор хөнөөлтэй юу гэдгийг гурван нөхцөл шийднэ: шалгалт юуг ялгаж чадах, хэдэн дараалсан алдаа арга хэмжээг зөвтгөх, арга хэмжээ дахин холбогдох уу эсвэл солих уу. Нийтийн хаяг руу ping хийдэг cron мөр эдгээрийн аль нэгэнд нь ч сайн хариулдаггүй. Энэ нь эрүүл туннелийг дахин холбож, эвдэрсэн туннелийг хэвээр үлдээдэг бөгөөд хоёуланг нь ямар ч бүртгэлгүйгээр хийдэг. Хадгалах үнэ цэнэтэй загвар эдгээр гурван сонголтыг тодорхой болгодог.

Шалгалт бол бусад бүхнийг шийддэг хэсэг.

Интернэт рүү ping үнэхээр юуг баталдаг вэ

Нийтийн resolver руу ping хийх нь дотоод интернэтийн зам амьд байгааг харуулна. Энэ нь туннель трафик зөөж байгааг батлахгүй бөгөөд бүрэн туннелийн профайлд ping өөрөө туннелээр явдаг тул эрүүл хариулт болон эвдэрсэн туннель зэрэг оршиж болно, клиент пакетуудыг дамжуулсар хэвээр байх үед. Хэрэв профайл нэрийн хайлтыг туннелээр илгээдэг бол DNS-ийн алдаа үхсэн холбоос гэж уншигдаж, юу ч засаж чадахгүй дахин холболтыг эхлүүлнэ.

Алдааны хоёр чиглэлийн аль нь ч гарах кодонд харагдахгүй. Тухайн дохио дээр бүтээсэн хянагч бол cron хуваарьтай зоос шидэх явдал.

Туннелийн ард амьдардаг зүйлийг шалгаарай

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

Дотроос шалгаарай, хамгийн хямд шалгалт эхэндээ. Интерфэйс байгаа эсэх нь туннель өргөгдсөнийг хэлнэ; мэдэгдэх дотоод хаяг руу маршрут хайх нь трафик тэнд орно гэдгийг хэлнэ; нөгөө талын хост руу TCP шалгалт нь үнэхээр ямар нэгэн зүйл хариулж байгааг хэлнэ. Зөвхөн echo хүсэлтүүд төөрөгдүүлдэг: олон дотоод хост TCP-д дуртайяа хариулдаг ч ICMP-г хаядаг тул ping дээр суурилсан хянагч хэзээ ч ажиллахаа болиогүй туннелийг байнга дахин холбодог.

Шалгалтыг цаг хугацаагаар хязгаарлаж, түүнд тусдаа гарах төлөв өгөөрэй. Гучин секунд дүүжлэгдсэн шалгалт хянагчийг суурилуулсан сааталтай таслалт илрүүлэгч болгоно.

Нэг мөр ба нэг давталтын хооронд сонгоорой

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

cron бичлэг бол санах ойгүй нэг мөр бөгөөд нэмэлт дахин холболт юу ч өртөхгүй зөөврийн компьютерт тохирно. Хяналттай давталт тоолуур барьж, хэд хэдэн удаа алдсаны дараа л арга хэмжээ авдаг нь тогтворгүй холбоос дахин холболтын шуурга үүсгэхээс сэргийлнэ. Ямар ч тохиолдолд түүнийг хянагчийн доор ажиллуулж, эвдрэлийг даван туулж, журналд бичүүлээрэй. Аль хувилбар богино вэ гэхээс илүү илүүц дахин холболт чухал уу гэдгээр сонгоорой.

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

Тухайн давталт цонхны хувь биш, дараалсан алдааг тоолдог. Цонхонд цаг болон дээжийн санах ой хэрэгтэй бөгөөд гараар бичсэн хянагчдын алдааны ихэнх нь яг тэр арифметикт амьдардаг.

Сервер солих нь өөр шийдвэр

Сервер солих нь дахин холбогдохоос ялгаатай. Эхлээд хуучин холбоосыг таслаарай, учир нь эхнийх нь хаягийг барьсаар байхад эхэлсэн хоёр дахь клиент мөргөлдөнө. Солихоос өмнө дараалсан алдааг тоолж, оролдлогыг хязгаарлаж, шинэ холбоос өргөгдсөний дараа дахин шалгаарай, connect командын гарах төлөвт итгэхийн оронд. Буруу тохиргоо давталтад бүх серверээр эргэлдэх ёсгүй.

VPN серверийн өөрийн нийтийн хаягийг бүрэн туннелийн дотроос бүү шалгаарай. Тэр шалгалт нь өөрөө туршиж буй зүйлээсээ хамааралтай бөгөөд баталгаажуулах ёстой зам аль хэдийн алга болсон ч амжилт гэж мэдээлдэг.

Аль шалгалт ажилласан, юу буцаасан, ямар арга хэмжээ дагасан зэргийг бүртгээрэй. Тэр бүртгэл нууцлаг дахин холболтыг оношлох боломжтой үйл явдал болгоно.

Холбоотой нийтлэлүүд