macOS'da terminaldan VPN holati: scutil, marshrutlar yoki ping
Xizmat holati, yadro marshruti va haqiqiy so'rov uch xil savolga javob beradi. Skriptni xizmat identifikatori asosida yozing va marshrutni ham tekshiring.
Joylashtirish skriptining biror joyida nusxa boshlanishidan oldin tunnel ishlayotgani tekshiriladi. Uch javob mavjud va ular bir xil ma'noni bermaydi: scutil xabar beradigan xizmat holati, yadro tanlagan marshrut va uzoq tomon haqiqatan javob beradimi. Ularni solishtirish nusxani oldindan aytadigan tekshiruv bilan faqat jurnalni bezaydigan tekshiruv orasidagi farqdir.
VPN ishlayaptimi degan savolga uch javob
Xizmat holati boshqaruv tekisligining faktidir. macOS konfiguratsiya ulanganligini biladi, chunki uning mijoz jarayoni shunday dedi. Marshrut ma'lumot tekisligining faktidir: yadro bu manzilni o'sha interfeys orqali yuboradi. Yetib borish bir chetdan ikkinchisiga qadar fakt bo'lib, qolgan ikkalasi ham ko'rmaydigan sabablarga ko'ra muvaffaqiyatsiz bo'lishi mumkin.
| Signal | Answers | Blind spot |
|---|---|---|
scutil --nc status | Is the service connected? | Third-party clients, wrong routes |
route -n get | Where would this go? | The peer may be down |
| A request to the far side | Does it work now? | Slow, and it changes state |
Foydali tekshiruv birinchi ikkitasini birlashtiradi va uchinchisini qolgan ikkisi yolg'on gapirmaganiga tasdiq sifatida ishlatadi. Har biri yolg'iz vaqt belgisi qo'yilgan taxmin.
Identifikatorni o'qing, ko'rsatiladigan nomni emas
scutil --nc list
scutil --nc status "Office"
Ro'yxat har bir xizmat uchun bitta satr chiqaradi va har satrda qavs ichida holat, keyin xizmat identifikatori, turi va ko'rsatiladigan nomi bo'ladi. Skriptni identifikator bo'yicha yozing, chunki ko'rsatiladigan nom kimgadir Tizim sozlamalarida kiritgan narsa va ogohlantirishsiz o'zgarishi mumkin. Holat buyrug'i bitta so'z chiqaradi, ayrim xizmat turlarida esa undan keyin statistika; nomni butun chiqishdan qidirish o'rniga o'sha birinchi so'zni solishtiring, chunki nom boshqa joylarda ham uchraydi.
Xizmatni ishga tushirish avtorizatsiya so'rovini keltirib chiqarishi yoki profil boshqariladigan bo'lsa, to'g'ridan-to'g'ri rad etilishi mumkin. Bu rad etish tunnel nosozligi emas; bu uni kim ko'tara olishi haqidagi siyosat bayonoti.
Uchinchi tomon mijozi ro'yxatdan yashirinadi
Bo'sh ro'yxat VPN yo'q degani emas. Tizimning o'z tarmoq sozlamalarida yaratilgan konfiguratsiyalar shu yerda ko'rinadi; sotuvchining mijozi, boshqaruv profili yoki uchinchi tomon ilovasi bu buyruq hech qachon ko'rmaydigan faol tunnelni ushlab turishi mumkin. O'z xizmati uchun o'z asbobi hokimdir. U bilan hech qachon ro'yxatdan o'tmagan mijoz haqida scutil dan so'rash hech narsa qaytarmaydi va hech narsa uzilganga o'xshash javob emas.
Ro'yxat bo'sh bo'lsa-da, trafik aniq shifrlangan bo'lsa, interfeysni qidiring: kutilgan diapazonda manzilga ega utun yoki ppp qurilmasi kimdir tunnel o'rnatganiga dalildir. Bu xizmat holatidan kuchsizroq signal, shuning uchun interfeysni shaxs isboti deb hisoblash o'rniga marshrut tekshiruvi bilan qo'shib ko'ring. Bir nechta mijoz bir nechta shunday interfeys yaratishi mumkin va ulardan faqat bittasi siz nazarda tutgan tunnelga tegishli.
Holat marshrutlash emas
Ulangan xizmat tunnel borligini aytadi. Manzilingiz undan foydalanishini aytmaydi. Manzillarni o'qing, keyin yadrodan to'g'ridan-to'g'ri so'rang:
ifconfig | grep -A4 utun
netstat -rn -f inet
route -n get 10.40.0.20
To'liq tunnel mijozi tunnel orqali standart marshrut o'rnatadi; bo'lingan tunnel mijozi muayyan xususiy prefikslarni o'rnatadi. Ikkalasi ham Connected deb xabar beradi va faqat holatni tekshiruvchi skript xotirjam noto'g'ri yo'ldan yuradi. Tunnelni to'xtatish boshqa mijoz o'rnatgan marshrutlarni albatta olib tashlamaydi va bu mashinada bir vaqtda ulangan xizmat hamda eskirgan marshrut bo'lishining bir yo'lidir. Sizni qiziqtirgan manzilga qarang, butun marshrut jadvaliga emas.
Nomlash alohida muammo
Boshqa mashinalar Mac'ga nom bo'yicha yetib borolmaydi, holbuki uning manzili ishlaydi va bu VPN nosozligi deb xabar qilinadi. Mahalliy xost nomi, xost nomi va DNS yozuvi uch xil narsa. scutil --get LocalHostName Bonjour nomini ko'rsatadi; sudo scutil --set HostName mac-office tizim xabar beradigan nomni o'rnatadi.
Bu sozlamalarning hech biri ofis zonasida yozuv yaratmaydi. Agar boshqa xostlar nomni DNS orqali hal qilishi kerak bo'lsa, zona egasi uni qo'shishi kerak yoki skript o'rniga manzildan foydalanishi kerak. Barqaror nom o'rnatish e'lonlarni izchil qiladi; u hal qiluvchini javob berishga majbur qilmaydi.
Skriptda xizmat identifikatori va marshrutning kutilgan shaklini birga yozib qo'ying va nusxadan oldin ikkalasini tekshiring. Ishlab turgan, lekin noto'g'ri tomonga yo'naltirilgan tunnel xuddi tunnel yo'qdek muvaffaqiyatsiz bo'ladi va Connected deb yozilgan jurnal satri keyingi odamni noto'g'ri joydan qidirishga yuboradi.