Салгах скрипт ихэвчлэн нэг шалтгаанаар бүтэлгүйтдэг: буруу эзэмшигчид хандаж байна. Нийгэмлэгийн OpenVPN GUI-аар удирдуулсан туннель тухайн GUI-ийн сессэд хамаарна, Windows үйлчилгээний эхлүүлсэн туннель үйлчилгээнд хамаарна, OpenVPN Connect нь хоёуланд нь хамаарахгүй. Эдгээр шалгалтыг дараалан хийж, эзэмшигч тодорхойгүй үед зогсо. Эзэмшигч хоёрдмол байсан тул kill команд илгээх нь нэг профайлын салгалтыг бүхэл объектын зогсолт болгох зам юм.

GUI-аар удирдуулсан холболтын хувьд ашигтай команд бол openvpn.exe-д өгөх сигнал биш, GUI-д илгээх мессеж юм.

Эхлээд эзэмшигчийг тодорхойл

Ямар ч зүйл бичихээс өмнө аль програм бодитоор холбогдсон төлөвийг харуулж байгааг хар. Системийн тавиур дахь дүрс нь GUI сесс эзэмшиж байгааг илэрхийлнэ. Үйлчилгээний бичлэг нь үйлчилгээ эзэмшиж байгааг илэрхийлнэ. Өөрийн профайлын жагсаалттай тусдаа програмын цонх нь аль нь ч биш гэсэн үг бөгөөд түүнд өөрийн хувилбарт тохирсон интерфейс үйлчилнэ.

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

Дараа нь эзэмшигчийн өөрийнх нь салгалтыг илгээ

Хэрэв GUI жишээн дэх замд суулгагдсан бөгөөд office нэртэй профайл байвал бүх команд нэг мөр:

"C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --command disconnect office

Үүнийг өөрийн бодит суулгацын зам болон GUI-ийн харуулж буй том жижиг үсгээр оруулан тохиргооны яг нэрээр соль. Төслийн командын баримт бичиг дэмжигдэх GUI удирдлагуудыг жагсаасан бөгөөд энэ жишээ зөвхөн OpenVPN GUI-д хамаарна — нэрэндээ OpenVPN агуулсан бүх програмын команд биш.

Үйлчилгээний эзэмшлийн туннелийн хувьд зөв удирдлага нь үйлчилгээ өөрөө, GUI-ийн гүйцэтгэх файл биш. Ямар нэг зүйлийг зогсоохоос өмнө суулгасан үйлчилгээ болон түүний удирддаг профайлуудыг шалга, учир нь зогсолт хэд хэдэн туннелийг нэгэн зэрэг унагаж болох бөгөөд профайл тус бүрийн үр дүн ирэхгүй.

Өөр юу ч унахгүй байхыг шалга

GUI мөн disconnect_all командыг баримтжуулдаг бөгөөд түүний хүрээ нь зөвхөн office-г зогсоох ёстой скриптэд буруу хэрэгсэл болох шалтгаан нь яг юм. Энгийн байдлын үүднээс ашиглахыг хүсвэл тухайн машинд өөр юу холбогдсон, хэрэглэгч үүнийг хэрхэн анзаарахыг асуу.

taskkill /F /IM openvpn.exe хоёр талаараа муу. Энэ нь процессуудыг гүйцэтгэх файлын нэрээр сонгож, албадан дуусгадаг тул профайлын нэрийг ч, эзэмшигчийн ердийн салгалтын дарааллыг ч илэрхийлэхгүй. Үүнийг цэвэр унтраалт гэж нэрлэх нь хоёр асуудлыг нэг гарцын статусын ард нуудаг.

Аль замыг сонгосон ч өөрчлөлтөөс өмнө нөлөөллийн хүрээг шалга: холбогдсон профайлуудыг жагсаа, аль нь үлдэх ёстойг тэмдэглэ, дараа нь дахин шалга.

Гарцын код биш, төлөвийг баталгаажуул

Салгалт хүссэний дараа командын буцаах утганд итгэхийн оронд заасан холболтын төлөвийг эзэмшигчээр нь дамжуулан унш. Хэрэв дараагийн алхамд задалсны дараа сүлжээ шаардлагатай бол процесс буцаж ирэхэд цэвэрлэгээ дууссан гэж үзэхийн оронд тодорхой хугацааны хязгаартайгаар тэр төлөвийн өөрчлөлтийг хүлээ. Задалттай уралдсан скрипт хааяа бүтэлгүйтэх бөгөөд бурууг VPN-д тохох болно.

Хэрэв төлөв хэзээ ч өөрчлөгдөхгүй бол эзэмшигч таны хандсан хүн биш байх. Илүү хүчтэй команд руу шилжихээс өмнө сесс болон бүртгэлийг дахин шалга.

Лог-д юу бичих вэ

Профайлын нэр, хандсан эзэмшигч, эхлүүлэх контекст, мөн үүссэн төлөвийг бич. Бүрэн тохиргоо эсвэл нэвтрэх мэдээллийг даалгаврын лог-д асгах хэрэггүй, командын мөрөнд нууц агуулсан файлын зам байвал бичих хэрэггүй.

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

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