OpenVPN-ийн up скрипт хэтэрхий эрт ажилласан уу, эсвэл хэзээ ч бэлэн болоогүй юу?
up дэгээ нь туннелийн төхөөрөмж гарч ирэх үед, маршрут болон програмын бэлэн байдлаас өмнө ажилладаг. Скриптийг хэрэгтэй үйл явдалд тохируул, харин унтлагыг нэмэх хэрэггүй.
up скрипт ажиллаж, тэгээр гарч, доторх ажил нь терминалаас хоёр секундын дараа төгс ажилладаг хувийн үйлчилгээнд хүрч чадахгүй. Зөн совин нь цаг хугацаа гэж бодож, ердийн засвар нь унтлага бөгөөд энэ нь уралдааныг ойлголгүйгээр нуудаг. Илүү ашигтай уншилт бол “up” нь бэлэн байдлын баталгаа биш, дэгээний нэр юм. Энэ нь туннелийн төхөөрөмж тохируулагдсан үед асах бөгөөд энэ нь маршрут, DNS, мөн туннелийн ард байгаа аль ч програмаас эрт юм.
Shell тест амжилттай болсон, учир нь бүх зүйл тогтсоны дараа ажилласан. Дэгээ нэг тодорхой мөчид ажилласан.
up асаах дараалалд хаана байрладаг
OpenVPN туннелийн төхөөрөмжийг тохируулж, дараа нь up дэгээг ажиллуулна. Маршрут суулгах нь дараагийн үе шат бөгөөд өөрийн дэгээтэй, тиймээс up дотор байрлуулсан маршрутаас хамааралтай ажил нь ашигтай замгүй төхөөрөмжийг харж болно. Маршрутын ажлыг route-up дотор байрлуулбал цаг хугацааны асуудал ихэвчлэн арилдаг.
Гарын авлага энэ дараалал болон дэгээ бүрийн хүлээн авах орчныг баримтжуулдаг. Энэ дараалал нь “миний shell-ээс ажилладаг” гэсэн сонгодог мэдээллийн бүрэн тайлбар бөгөөд ижил скрипт нэг машинд дамжин, маршрутын үе шат нь удаан өөр машинд унадаг шалтгаан ч мөн юм. Аль ч үр дүн скриптийн чанарын талаар юу ч хэлэхгүй.
DNS болон програмын бэлэн байдал бүр ч хожуу ирдэг. Суулгасан маршрутууд ч гэсэн алслагдсан төгсгөлийн цэг сонсож байгаа, нэр шийдэгдэж байгаа, эсвэл хэрэглэгчийн хүрээний ажилд зориулсан ширээний сесс байгаа гэдгийн баталгаа биш.
Дэгээ үнэхээр юу өвлөдөг вэ
Дэгээ нь OpenVPN процессын бүртгэл болон орчинд ажилладаг, энэ нь таны интерактив shell-тэй ижил биш. Хэрэглэгчийн сессийн автобус, ширээний орчин, эсвэл зөвхөн нэвтрэх үед нээгддэг итгэмжлэл дутагдаж болно. Ажилд эдгээрийн аль нь үнэхээр хэрэгтэйг бичиж аваарай.
Энэ нь сүлжээ мэт харагдах боловч хэрэглэгчийн контекстээс хамаардаг ажлуудад чухал: хэрэглэгчийн итгэмжлэлээр хуваалцсан хавтасыг холбох, хэрэглэгч тус бүрийн прокси тохируулах, эсвэл принтер тохируулах. Онцгой эрхтэй туннелийн дэгээ тэдэнд тохиромжгүй газар бөгөөд хэр их хүлээсэн ч дутагдсан сессийг засахгүй.
Дэгээ дотор ажил унасан үед бүртгэл, орчин, эхний унасан үйлдлийг тэмдэглэ. Энэ нь эрт цагийг зөвшөөрөл эсвэл контекстийн асуудлаас ялгадаг бөгөөд хоёр нь огт өөр засвартай. Тэдгээрийн хооронд таамаглах нь таван минутын засварыг бүтэн үдэш болгодог.
Яагаад унтлага нэмэх нь бэлэн байдлын шалгалт биш вэ
Унтлага скриптийг хойшлуулж, уралдааны цонхыг шилжүүлдэг. Хурдан өдөр ажил амжилттай болдог; удаан өдөр дахин унадаг бөгөөд хойшлол ажиллаж байгаа мэт харагддаг тул алдааг дахин гаргахад хэцүү болдог. Зөвхөн хөнгөн ачааллын үед ажилладаг хойшлол нь тохиолдол бөгөөд засвар биш.
Хэрэв хамаарал нь маршрут бол маршрут суулгахтай тохирох дэгээг ашигла. Хэрэв хамаарал нь туннелийн ард байгаа үйлчилгээ бол тэр тодорхой нөхцөлийг хүлээж, хэзээ ч ирэхгүй үед тодорхой унадаг хязгаарлагдмал шалгалтыг ашигла.
Алдааг тодорхой байлга. Бодит ажил нь унасан ч тэгээр гардаг дэгээ нь унадаг дэгээнээс дор, учир нь үйлчилгээний менежер амжилт гэж бүртгэдэг ба дахин хэн ч хардаггүй. Скриптээс өөрөөс нь гарах нэг лог мөр нь үүнийг шударга байлгах хамгийн хямд арга.
Цэвэрлэгээ болон дахин холболт мөн адил анхаарал шаарддаг
Хуваалцсан төлөвийг өөрчилдөг скриптэд тохирох буцаах зам хэрэгтэй. Дэгээний нэмсэн маршрут, шийдвэрлэгчийн бичлэг, галт ханын тэмдэглэгээ нь идемпотент ба буцаагдах боломжтой байх ёстой, эс тэгвээс дахин холболт хоёр дахь хуулбарыг эхний дээр давхарлана.
Дахин холболтууд нь үйлчилгээний бүрэн асаалтаас илүү олон удаа дэгээг ажиллуулж болно. Сессийг дахин тогтоодог байнгын интерфейс up болон route-up мөчлөгийг дахин өдөөж болох тул асаалт бүрт нэг ажиллагаа гэж үздэг скрипт эцэстээ буруу ажиллана. Нэг өдрийн хэлбэлзлийн лог дахь ажиллагааг тоолж, энэ нь үнэхээр хэр олон удаа ажилладаг болохыг хараарай. Дараа нь скриптийг тэр олон удаа ажиллуулахад аюулгүй болго.
Унасан амьдралын мөчлөгийг шалга, дараагийн командыг биш. Асаалт эсвэл дахин холболтыг дахин үүсгэж, дэгээний гүйцэтгэлийг ажиглаж, ажил үнэхээр ажиллаж байгаа мөчид амжилттай болсныг батал. Дараа нь интерактив shell-ээс гарах амжилт нь хамаарлын тухай нотолгоо бөгөөд асаах зам ажилладаг гэдгийн нотолгоо биш.
Ажил бүрийн хамаарах үйл явдалд нэр өгч, түүнийг тэр үйл явдалд холбо. Бусад бүх зүйл бол шалгалт мэт дүр эсгэсэн хойшлол.