Siz yaqinroq ko'ringan serverni tanlab, ulanish tugmasini bosasiz va yangi tunnel ko'tarilishidan oldin brauzer yuklashni to'xtatadi. Belgi ulanmoqda holatiga o'tadi va har bir varaqning vaqti tugaguncha shu yerda qoladi. Bu tanaffus odatda kill switch-ning loyiha bo'yicha ishlashi: klientda trafikni yuboradigan tunnel bo'lmaguncha u bloklanadi. Tanaffus maqbulmi-yo'qmi, klient o'sha soniyalarda nima qilishiga va blok ochildi deganida haqiqatan ochilishiga bog'liq.

Klient ikkita server orasida nima qiladi

Oxirgi nuqtani almashtirish bitta kalit emas, bir necha qadam. Klient joriy tunnelni buzadi, bloklash qoidalarini yangilaydi, yangi oxirgi nuqtani hal qilib, unga tunneldan tashqarida yetib boradi, so'ng yangi marshrutlarni o'rnatadi va blokni ko'taradi. Siz sezadigan uzilish birinchi va oxirgi qadam orasida.

Bu yerda tartib tezlikdan muhimroq. Agar bloklash qoidalari yangi oxirgi nuqta uchun istisnodan oldin kuchga kirsa, klient qo'l berib ko'rishishni tugata olmaydi va vaqt tugaguncha ulanmoqda holatida qoladi. Agar istisno eski server manzilining nusxasi bo'lsa, yangi qo'l berib ko'rishish boshqa har qanday chiquvchi paket kabi ko'rinadi va tashlab yuboriladi. Ikkala holat ham brauzerdan bir xil ko'rinadi, shuning uchun olti soniyadan keyin tiklanadigan almashtirish va hech qachon tiklanmaydigan almashtirish bir sababga ega bo'lishi mumkin.

Yangi oxirgi nuqtaga blokda teshik kerak

Tunnelni qurish uchun klient jismoniy interfeys orqali yangi server manzili va portiga paketlar yuborishi kerak, masalan, oddiy WireGuard profili uchun UDP 51820 yoki OpenVPN uchun 1194 va 443, sizning profiliniz nima ko'rsatsa. Bu trafik yaratilayotgan tunnelning ichida emas, shuning uchun mos ruxsat qoidasi bo'lmasa, butun qurilma uchun blok uni yutib yuboradi.

Xost nomiga asoslangan profillar ikkinchi shartni qo'shadi: qidiruvning o'zi. Agar klient oxirgi nuqtani blok ko'tarilishidan oldin hal qilsa, keshlangan manzildan foydalanishi mumkin, lekin profil manzillarni almashtirsa yoki kesh yozuvi eskirsa, qo'l berib ko'rishish ruxsat qoidasi qamramaydigan manzilga ketadi. IPv6 buni ko'rinadigan qiladi, chunki ikki stekli oxirgi nuqta ham A, ham AAAA yozuvini e'lon qilishi mumkin, va faqat v4 manzilini qamrab oluvchi ruxsat qoidasi klientni bloklangan v6 manziliga qarshi qayta urinishga qoldiradi.

Variantlar nomlari va standart qiymatlari klient va versiyaga qarab farq qiladi, shuning uchun ekran suratlaridan taxmin qilmasdan, o'zingizga tegishli hujjatlashtirilgan ro'yxatni o'qing. OpenVPN Connect sozlamalari ma'lumotnomasi openvpn.net/connect-docs/app-settings-windows manzilida klient o'zining bloklash va bo'lingan tunnel variantlarini qanday tasvirlashiga bir misol.

Fail-closed — bu holatlar mashinasi, kalit emas

Aksariyat klientlar blokni tarmoq ekrani siyosati sifatida uch holatda ifodalaydi: tunnel tepada, trafik tunneldan o'tadi va blok yo'q; tunnel pastda, blok faol; va o'tish, blok faol va oxirgi nuqta uchun vaqtinchalik istisnolar. Xatolar aynan uchinchi holatda yashaydi, chunki u bir necha soniya ichida ikki marta o'zgarishi kerak, va undan chiqa olmaslik doimiy blokka aynan o'xshaydi.

Mexanizm platformaga qarab farq qiladi, muvaffaqiyatsizlik ham. Windows Filtering Platform filtrlari vaznga ega, shuning uchun sizning ruxsatingizdan ustun turadigan blok filtri ruxsat bo'lsa ham paketlarni tashlashda davom etadi, va o'ldirilgan klient jarayoni qoldirgan filtrlar ilova yo'qolgandan keyin ham qurilmani oflayn ushlab turishi mumkin. macOS klientlari odatda pf qoidalarini langarga yozadi, u yerda qoidalar tartibi va tez qarorlar qaysi qoida amal qilishini belgilaydi. Linux klientlari odatda drop siyosati va oxirgi nuqta, tunnel interfeysi hamda loopback uchun aniq ruxsatlar bilan nftables yoki iptables zanjirini boshqaradi. Android-ning always-on VPN funksiyasi VPN-siz ulanishlarni bloklash varianti bilan guruhda eng qat'iy hisoblanadi, chunki operatsion tizim blokni har bir ilovaga emas, butun qurilmaga qo'llaydi.

WireGuard o'z izohini talab qiladi, chunki AllowedIPs marshrut tanlagichi, bloklovchi emas. U qaysi manzillar tunnelga kirishini hal qiladi; hali tunneli yo'q paketning Wi-Fi orqali chiqishini to'xtatish uchun hech narsa qilmaydi. Faqat WireGuard va tarmoq ekrani qoidasisiz sozlamada kill switch aslida marshrutning yo'qligi, va tashlangan qo'l berib ko'rishishdan keyin jismoniy interfeys orqali haqiqiy paket chiqishi mumkin.

Belgiga qarash o'rniga uzilishni o'lchang

Holat chirog'ini emas, paketlarni kuzating. Linux-da bitta terminalda ochiq manzilga sekin ping boshlang, boshqasida jismoniy interfeysda tunnelning transport portini tutib oling:

ping -i 0.2 -c 100 1.1.1.1 | tail -5

sudo tcpdump -ni eth0 'udp port 51820'

Ikkalasi ishlab turganda klientda serverni almashtiring. Uch narsa muhim: ping qancha to'xtaydi, tutib olish qo'l berib ko'rishishning yangi oxirgi nuqtaga yetishini ko'rsatadimi, va trafik klient holati ulangan bo'lishidan oldinmi yoki keyinmi qaytadi. Agar ping uzilishi birinchi tugasa, blok yo juda erta ko'tarilgan, yo indikator tan olishidan oldin tunnel tepada. Agar uzilish kechroq tugasa, indikator haddan tashqari optimist.

Windows-da netsh wfp show state oniy tasvir yozadi, unda klient o'zini uzilgan deb aytsa ham hali mavjud blok filtrlarni qidirish mumkin. macOS-da sudo pfctl -sr yuklangan qoidalar va ularning tartibini sanab chiqadi. Har qanday tasvirni klientning o'z jurnali bilan bog'lang; ping-ingizdan olingan vaqt chizig'i blok kech tugaganini yoki umuman tugamaganini aytadi.

Oddiy qorong'ilik qarshi qotib qolgan blok

Biroz uzilish bu xususiyatning maqsadi, shuning uchun har qanday sozlamani o'zgartirishdan oldin tasniflang:

What you seeUsually meansNext check
Two or three seconds of timeouts, then normal browsingExpected fail-closed gapNothing to fix
State says connected, traffic stays deadBlock filter or route left behindFirewall snapshot, client log
One app dead while others workTCP session bound to the old exit addressRestart the app
LAN devices unreachable after the switchLAN exception not reappliedAllow-LAN or split-tunnel setting
New server hangs, the old one reconnectsPermit covers only the old addressResolved address of the new host, including AAAA

Agar ikkinchi yoki beshinchi qatorga tushsangiz, sinash uchun kill switch-ni o'chirmang, chunki bu marshrut xatosini oqib ketishga aylantiradi. Klient xizmatini qayta ishga tushiring yoki jarayon o'ldirilganda ham filtrlar saqlanadigan joyda qurilmani qayta yuklang, so'ng blok tozalanadimi-yo'qmi qarang. Agar tozalansa, ayb blokning o'zida emas, almashtirish vaqtidagi tozalashda.

Keyingi almashtirishdan oldin to'rt narsani tasdiqlang: oxirgi nuqta ruxsati profilingiz hal qiladigan har bir manzil oilasini qamraydi, klient jurnali o'tish tugaganini ko'rsatadi, ping sinovingiz belgini emas, uzilishni o'lchaydi va klientni yopish oddiy ulanishni tiklaydi. Almashtirish vaqtida ushlab, keyin qo'yib yuboradigan kill switch o'z ishini qiladi. Erta yoki hech qachon qo'yib yubormaydiganini sozlash kerak.

O'xshash maqolalar