Mac'da VPN «Uzilmoqda»da qotib qoldi: aslida nima ishlayapti
Uzilish — bu o'tish, to'xtagan tunnel emas. Tunnelni yechish qaysi komponentga tegishli ekanini tekshiring, marshrutlar va DNS'ni o'qing, jarayonlarni keng o'ldirishdan saqlaning.
«Uzilmoqda» — bu klient tunnelni yechayotganda bildiradigan holat, trafik to'xtadi degan hukm emas. Mac'da bu yechish qisqa ketma-ketlik sifatida boradi va yorliq faqat ulanishga egalik qiluvchi komponent javob qaytargach o'zgaradi. Bir qadam yordamchi, plagin yoki siyosat qarorini kutganda, interfeys yo'qolgach ham yorliq shu yerda qolishi mumkin yoki menyu hali ko'rsatib turganda tunnel uzatishda davom etishi mumkin. Matnni «yechish ketmoqda, natija noma'lum» deb qabul qiling va qaysi yarmi haqiqat ekanini aniqlang.
Ikki nosozlik menyu satridan bir xil ko'rinadi va qarama-qarshi javob talab qiladi. Birida tunnel hali paketlarni tashiydi va faqat ko'rinish eskirgan. Ikkinchisida tunnel yo'qolgan, ammo alohida siyosat trafikni bloklangan holda ushlab turadi, bu ko'pincha ataylab qilinadi. Marshrutlar va DNS holati ularni har qanday menyu amalidan tezroq ajratadi.
Yorliq nimani kuzatadi
VPN klienti kichik holat mashinasini saqlaydi, menyu satri esa uning proyeksiyasi. macOS o'zi boshqaradigan ulanishda bu mashina tizimning VPN ramkasida bo'ladi. Ilova boshqaradigan tunnelda u ilovada va uning imtiyozli yordamchisida bo'ladi. To'xtatishning oxirgi qadami soketni yopish emas. Bu tunnelni ishlatib turgan narsalarni bo'shatish: utun interfeysi, unga ishora qilgan marshrutlar, klient kiritgan hal qiluvchi yozuvlari va ulangan paytda trafikni bloklagan har qanday tarmoq qalqoni qoidasi yoki siyosati.
Bu qadamlar alohida, shuning uchun to'xtatish ularning har birida qotib qolishi mumkin. Javob berishni to'xtatgan yordamchi, ikkinchi interfeys ham da'vo qiladigan marshrut yoki boshqa profilga tegishli hal qiluvchi yozuvi klientni kutishda qoldirishi mumkin. Yorliq klientning o'z taraqqiyoti haqidagi hisobot, bu uni niyat bo'yicha vakolatli va tarmoq bo'yicha ishonchsiz qiladi.
Ulanishga egalik qiluvchi komponentni toping
Mahalliy konfiguratsiyalarda scutil --nc list tizim biladigan xizmatlarni va ularning holatini chiqaradi, scutil --nc status "Work VPN" esa bitta xizmat tafsilotlarini beradi. Uchinchi tomon ilovasi ushlab turgan tunnel bu ro'yxatda umuman ko'rinmasligi mumkin, shuning uchun bo'sh natija hech narsa ulanmaganiga dalil emas.
Profil ilovaga tegishli bo'lsa, uning holat ko'rinishi va hujjatlashtirilgan «Uzish» tugmasiga tayanib ishlang. Oynani yopish to'xtatish so'rovi emas, agar orqa fondagi yordamchi tunnelga egalik qilsa; belgi yo'qoladi va yordamchi interfeysni tirik saqlaydi. Apple'ning VPN sozlamalari ma'lumotnomasi mahalliy boshqaruv elementlarini va boshqariladigan sozlamalar qayerdan kelishini qamrab oladi.
Interfeyslar, marshrutlar va DNS'ni o'qing
Uch tekshiruv ulanishga tegmasdan savolning ko'p qismiga javob beradi. Ularni birgalikda talqin qilish muhim, chunki har biri yakka holda chalg'itadi.
scutil --nc list
netstat -rn -f inet | head -20
ifconfig | grep -A 3 '^utun'
scutil --dns | head -30
- utun interfeysi bor, u orqali standart yoki bo'lingan marshrut o'tadi, hal qiluvchi provayderga ishora qiladi: tunnel hali ko'tarilgan va yorliq eskirgan.
- utun yo'q, oddiy standart marshrut bor, DNS DHCP'dan keladi, internet yo'q: uzilganda bloklaydigan siyosat o'z ishini qilmoqda.
- utun yo'q, marshrut yo'q, hal qiluvchi hali provayderga ishora qiladi: yechish yarim yo'lda to'xtadi, DNS esa tozalanishi kerak bo'lgan qoldiq.
Keyin faqat tunnel orqali javob berishi kerak bo'lgan ichki xostga bitta so'rov va ochiq xostga bitta so'rov yuboring. Yetib borish imkoniyati siyosatni qoldiq holatdan ajratadi, tekshiruvni o'lchov mashqiga aylantirmasdan. Agar yo'l hali javob bersa, avval masofaviy ishni saqlang va masofadan boshqariladigan mashinada tarmoqni o'zgartirishdan oldin kirishning ikkinchi yo'lini ta'minlang.
Nima uchun keng o'ldirish va profilni o'chirish chalg'itadi
pppd, racoon va configd kabi jarayon nomlari muayyan amalga oshirishlarga tegishli. Ularni o'ldirish boshqa ulanishlarga ta'sir qilishi mumkin, marshrutlar va utun interfeyslarini qoldiradi va qaysi qadam qotib qolgani haqida hech qanday yozuv bermaydi. Eski jarayon nomi ham uning joriy profilga egalik qilishiga dalil emas.
Profilni o'chirib qayta yaratish qotib qolgan o'tishni tozalashdan kattaroq o'zgarish. U nima muvaffaqiyatsiz bo'lganini tushuntirmasdan boshqariladigan sozlamalar va mahalliy shaxsni tasdiqlovchi materialni tashlab yuborishi mumkin, nazorat ostidagi Mac'da esa shunchaki tiklab qo'yilishi mumkin. O'chirishni haqiqatan eskirgan konfiguratsiya uchun qoldiring va o'rniga o'tishni tashxislang.
Izi qoldiradigan to'xtatish ketma-ketligi
Quyidagi tartib ulanishning o'z boshqaruv elementlarini mas'ul qilib qoldiradi va qotish qaytsa yozuv yaratadi. Shuningdek, ko'rinish muammosini tarmoq o'zgarishiga aylantirishdan saqlaydi.
- Masofaviy ishni saqlang va Mac masofada bo'lsa, unga boshqa yo'l bilan yetib borishingizni tasdiqlang.
- Klient nomi, versiyasi va profilini yozib oling.
log show --last 5m --predicate 'subsystem == "com.apple.networkextension"'bilan qisqa oynani qo'lga oling; eski versiyalar kamroq tarix saqlaydi, shuning uchun uni qotishdan keyin darhol ishga tushiring. - Hujjatlashtirilgan «Uzish» tugmasidan foydalaning, kuting, so'ng interfeys va marshrut tekshiruvlarini takrorlang.
- Agar yorliq eskirgan bo'lsa-da, tunnel pastga tushgan bo'lsa, uni qoldiring va jarayonlarni majburlash o'rniga klientning yangilanishiga yo'l qo'ying.
- Agar yechish haqiqatan qotib qolgan bo'lsa, klientni qayta ishga tushiring, so'ng ish saqlangach Mac'ni qayta ishga tushirishni rejalashtiring. Boshqariladigan mashinalar administrator tartibini talab qiladi.
Tiklangandan keyin oddiy standart marshrut va DHCP hal qiluvchisi qaytganini, bloklangan trafik yo tiklanganini yoki ataylab hali bloklanganini tasdiqlang. Profil va klient versiyasini belgi bilan birga yozib qo'ying, keyingi hodisa menyu satridagi taxmindan emas, dalildan boshlansin.