VPN-ийн хориглолтын унтраалгыг бодит бүртгэлгүйгээр хэрхэн шалгах вэ
Хуурамч хуудас, нөөц профайлаар унтраалгыг шалга: тасалдал бүрийн төрлийг хамарч, curl-ийн гарах кодыг уншиж, жинхэнэ блоклолтыг DNS-ийн алдаанаас ялга.
Унтраалга барьж чадах эсэхийг мэдэхийн тулд бодит бүртгэл шаардлагагүй; эрсдэлд ордог зүйл нь бүртгэл өөрөө. Шалгалт нь урсгал хонгилын гадна гарч болох эсвэл гарч чадахгүй богино цонх үүсгэдэг тул ачаалал нь алдаж болох зүйл байх ёстой. Би одоо үүнийг хуурамч хуудас, хөтчийн нөөц профайлаар хийдэг бөгөөд энэ нь өмнө хэрэглэж байсан хөтөч, вэбмэйлийн аргаас илүү тодорхой хариулт өгдөг. Доорх нь клиентийн санал болгодог дарааллыг дагана: тохиргоо, очих газар, шилжилт, дараа нь баримт.
Шалгалт зөвхөн нэг нарийн асуултад хариулна: энэ шилжилтийн үеэр энэ програм хонгилын гаднах сүлжээнд хүрч чадах уу? энэ нь үлдсэн бодлого ухаалаг эсэх талаар юу ч хэлэхгүй. Хамрах хүрээг ийм нарийн барьвал үр дүн нь бичих үнэ цэнэтэй.
Клиентээс унтраалга ба түүний хамрах хүрээг ол
Сүлжээний төлөвийг өөрчлөхөөс өмнө клиентийг нээж, блоклох тохиргоог ол. Үйлдвэрлэгчид үүнийг өөр өөрөөр нэрлэдэг: блоклох унтраалга, түгжих горим, сүлжээний түгжээ, хонгилын гаднах урсгалыг блоклох. Шошго нь доторх сонголтуудын талаар бага хэлдэг. Чухал нь блок үргэлж хэрэгждэг эсэх, эсвэл программ хонгил дөнгөж бүтэлгүйтсэн гэж үзсэн үед л хэрэгжих эсэх, мөн бүх програмыг хамардаг эсвэл сонгосон жагсаалтыг хамардаг эсэх юм.
Дараа нь клиент тань бодитоор хийж чадах шилжилтүүдийг жагсаа. Хэрэглэгчийн эхлүүлсэн салгалт, програмаас гарах, сервертэй холбоо тасрах нь ихэнх клиентэд гурван өөр кодын зам бөгөөд тэд нэг блоклох бодлогыг хуваалцдаггүй. Зарим нь программ гарах үед блокыг тайлдаг. Бусад нь шүүлтүүрийн дүрмийг ямар нэг зүйл арилгах хүртэл үлдээдэг. Таамаглахгүйгээр ажиллуулж буй хувилбарынхаа үйлдвэрлэгчийн тохиргооны лавлагааг уншиж, гурвын алийг нь шалгаж байгаагаа бич.
Профайлыг ч бич: протокол, хаягийн гэр бүлүүд, хуваасан хонгил идэвхтэй эсэх. Профайл хэдэн програмыг зориуд хасаж байвал бүх төхөөрөмжийг хамарна гэдэг мэдэгдэл утгагүй, харин өөрөө тохируулсан хасалт нь алдагдал биш. OpenVPN Connect-ийн тохиргооны лавлагаа нь аль унтраалга аль зан төлөвийг өөрчлөхийг нэрлэдэг хуудас боловч шошго клиент бүрт өөр.
Хонгилгүй ч ажилладаг хуурамч очих газрыг сонго
Хуурамч хуудасанд хоёр шинж хэрэгтэй бөгөөд аль нэгийг нь алгасвал үр дүн уншигдахгүй. Хонгил унтарч, блок унтарсан үед шууд хүрэх боломжтой байх ёстой, эс бөгөөс хариу зогссон нь зүгээр л хост алга болсныг илтгэж болно. Мөн нэвтрэх, күүки, төлбөр шаардахгүй байх ёстой, ингэснээр алдагдлын үнэ нь сесс биш нэг лог мөр болно.
Өөрийн хянадаг хост дээрх статик хуудас хамгийн цэвэр сонголт. Энгийн HTTP сервер ажиллуулж буй нөөц виртуал машин ч бараг адил сайн, нийтийн холболт шалгах хуудас ч ажиллана, хэрэв түүний боломж таны хяналтаас гадуур гэдгийг хүлээн зөвшөөрвөл. Хаяг, порт, хаягийн гэр бүл, нэр шийдэх шаардлагатай эсэхийг тэмдэглэ, учир нь эдгээр тус бүр дараа нь тусгаарлах шаардлагатай хувьсагч болно.
Унтраалгад хүрэхийн өмнө суурь нөхцөлийг тогтоо. Хонгил ассан үед хуурамч хуудас хонгилоор хариулах ёстой бөгөөд энэ нь бодлогын маршрут ажиллаж байгааг нотолно. Хонгил унтарч, блок унтарсан үед шууд хариулах ёстой бөгөөд энэ нь очих газар амьд байгааг нотолно. Зөвхөн тэгэхэд л блоклосон төлөв дэх бүтэлгүйтэл танд ямар нэг зүйл хэлнэ.
Шилжилтүүдийг тогтмол дарааллаар гүйцэтгэ
Шилжилтүүдийг нэг нэгээр нь хийж, тус бүрд хэдэн секунд тогтворжих хугацаа өг, учир нь клиентүүд ихэвчлэн яг энэ завсарт дүрмийг нурааж дахин бүтээдэг. Дараа бүрт ижил богино шалгалтыг ажиллуулбал ажиглалтууд харьцуулахуйц болно:
curl -sS -o /dev/null -w 'http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_exit=$?"
dig +short decoy.example
curl -6 -sS -o /dev/null -w 'v6_http=%{http_code}\n' --max-time 5 http://decoy.example/
echo "curl_v6_exit=$?"
| Transition | Expected with the block on | Failure signature |
|---|---|---|
| Manual disconnect | Decoy stops answering within seconds | Decoy still returns 200 |
| Server or path failure | Blocked, with no exemption for the old endpoint | Direct access during the gap |
| Quit the app | Client-dependent; record what happens | Block disappears with the process |
| Wi-Fi to Ethernet | Block holds until the tunnel returns | Traffic flows mid-change |
Програмаас гарах мөр нь ердийн хэрэглээнд клиентийг хэзээ ч хаадаггүй байсан ч тусдаа гүйцэтгэх үнэ цэнэтэй. Хэрэв гарах үед блок тайлагдвал осол эсвэл албадан шинэчлэл танд мөн адил эрсдэл авчирна, энэ нь байршуулалтын тухай баримт, таны тэвчээрийн тухай биш. Windows дээр тэнцэх шалгалтууд нь Resolve-DnsName decoy.example ба curl.exe -s -o NUL -w "%{http_code}" http://decoy.example/ юм.
Блокийг эвдэрсэн резолвер-ээс ялга
Хуудас ачаалагдахгүй байх хэд хэдэн шалтгаан байдаг бөгөөд зөвхөн нэг нь унтраалга ажиллаж байгаа хэрэг. Хэрэв нэр шийдэгдэхгүй бол DNS блоклогдсон эсвэл эвдэрснийг мэдсэн, өгөгдлийн зам блоклогдсоныг биш. Шууд хаягаар ч шалга, ингэснээр хариулт нэр шийдэлтээс огт хамаарахгүй.
curl-ийн гарах кодууд эдгээр тохиолдлыг ялгадаг. 6 бол нэр шийдэх алдаа, 7 бол холболт татгалзсан, 28 бол хугацаа дууссан. Блоклогдсон маршрут ихэвчлэн шууд хаяг руу хугацаа дуусах эсвэл татгалзах хэлбэрээр илэрдэг, зөвхөн DNS-ийн блок 6-г үлдээж бусад бүгдийг нуудаг. Кэшлэсэн хуудас эсвэл олзлогдсон портал нүдийг хуурдаг тул баримт нь дэлгэц биш гарах код.
Шалгалтыг IPv6 дээр шууд хаягаар давта. IPv4-г хамарч IPv6-г үл тоомсорлодог блок хангалттай түгээмэл тул тэмдэглэлд тусдаа мөр авах ёстой, хонгилын гадна IPv6-г идэвхгүй болгодог клиент хоёр гэр бүл дээр цэвэр бүтэлгүйтэх ёстой.
Үр дүнгийн хамарсан хүрээг бич
Хонгил буцаж ирэхэд сэргэлтийг батал: хуурамч хуудас хонгилоор хариулж, резолвер хариулт буцааж, бодлого таны үлдээсэн газартаа байна. Дараа нь туршилтуудыг буцаа. Түр галт хананы дүрэм, дибаг маршрут эсвэл туршилтын профайл үлдвэл дараагийн гүйлтийг будлиулж, програмаас урт насалж болно.
Нэг гүйлт нь нэг клиентийн хувилбар, нэг профайл, нэг шилжилт, нэг хаягийн гэр бүлийг хамардаг тул эдгээр дөрвийг үр дүнгийн хамт бич.
- Клиентийн хувилбар ба платформ, тохиргоо профайлд хамаарах эсэх эсвэл глобал эсэх.
- Профайл, протокол, хуваасан хонгилын аливаа хасалт.
- Шалгасан шилжилт ба түүнийг хэрхэн үүсгэсэн.
- Хаягийн гэр бүлүүд ба DNS, блоклогдсон ба блоклоогүй төлөвийн curl гарах кодуудтай.
Аль нэг мөр хоосон бол шалгалт дуусаагүй. Роуминг нь сүлжээний өөрчлөлтийн мөрийг давтахыг илэрхийлнэ. Хяналтгүй дахин ачаалалт нь дүрмүүд буцаж ирэх эсэхийг шалгах гэсэн үг бөгөөд энэ нь унтраалгын тухай бус сэргээх дарааллын тухай асуулт. Клиент шинэчлэгдсэний дараа дарааллыг давта, учир нь унтраалгууд ховор өөрчлөгддөг ч ард нь байгаа зан төлөв өөрчлөгддөг. Хуурамч хуудсыг үлдээ: эргүүлэх зүйл байхгүй, дараагийн шалгалт таван минут зарцуулна.