Mac'ingiz siyosat skriptini yuklab oladi va keyin o'sha skriptdan so'rov qaysi vositachidan foydalanishini so'raydi, tunnel esa faqat tanlangan sakrashga qanday yetishni hal qiladi. Ikkala javob ham bir xil soketga tushadi, shuning uchun ikkalasi ham muvaffaqiyatli bo'lgandan keyin muvaffaqiyatsiz bo'lgan so'rov ikkita bo'lsa-da bitta nosozlikdek ko'rinadi. Yuklab olishni tanlashdan, tanlashni esa marshrutdan ajratish bu chiptalardagi ishning katta qismi. Quyidagi tartib macOS aslida nima qilishini kuzatadi, har bir bosqichni ko'rinadigan qiladigan tekshiruvlar bilan.

PAC manzili va proksi qayerda ajraladi

https://config.corp.example/proxy.pac kabi manzil yuklab olinadigan hujjatni nomlaydi, va bu hujjat trafik o'tadigan serverni nomlaydi. URL'ni proksi xost maydoniga qo'yish mijozdan hech qachon bunday ulanishni tinglamaydigan fayl serveriga proksi ulanish ochishni so'raydi. Fayl ichida mijoz har bir so'rovda chaqiradigan funksiya bor, va uning qaytariladigan qiymati o'sha bitta manzil uchun keyingi sakrashdir. Bu bilvosita munosabat bir xil tarmoq xizmatidagi ikki mashina, ikkalasi ham to'g'ri URL'ga ega bo'lsa-da, nima uchun boshqacha tutishi mumkinligini tushuntiradi. Shuningdek, siyosat o'zgarishi hech kim proksining o'ziga tegmasdan nima uchun kuchga kirishini tushuntiradi.

Pastdagi biror narsani izohlashdan oldin skriptni o'qing, chunki ichidagi qoidalar tashkilotning istisnolarini va ularning qo'llanish tartibini olib yuradi. Erta keng diapazon keyingi ichki qo'shimchani soya qilishi mumkin, va proksidan aniq chetlanishi kerak bo'lgan xost undan foydalanishda davom etadi. Kimdir siyosat noto'g'ri deb turib olsa, bu da'vo hal qilinadigan yagona joy skriptdir.

Skript biror narsani hal qilishdan oldin olinishi kerak

Siyosatni yuklab olish uchun hal qilingan nom va faylni taqdim etadigan narsaga marshrut kerak, ulangan tunnel esa ikkalasini ham kafolatlamaydi. Agar xost faqat maxfiy DNS orqali hal qilinsa, o'sha paytda ishlatilayotgan rezolver yuklab olish boshlanishi mumkinligini hal qiladi. Agar xost maxfiy diapazonda bo'lsa, marshrut shu mashinadan bo'lishi kerak, hamkasbning noutbukidan emas. Oldingi sessiyada keshlangan nusxa kesh tugaguncha yoki mashina qayta ishga tushguncha bularning barchasini yashiradi.

Quyidagi uchta tekshiruvni tartib bilan bajaring va birinchi nosozlikda to'xtang, chunki bosqichlarning umumiy sababi yo'q. Ular birgalikda siyosat sozlanganmi, unga yetish mumkinmi va nima qaytarishini ko'rsatadi.

scutil --proxy
networksetup -getautoproxyurl "Wi-Fi"
curl -sS -o /dev/null -w "%{http_code}\n" https://config.corp.example/proxy.pac

Birinchi buyruq faol xizmat uchun proksi lug'atini chop etadi, tizim saqlayotgan har qanday avtomatik sozlash URL'i bilan birga. Ikkinchisi bitta nomlangan xizmatga bog'langan URL'ni xabar qiladi, bu Wi-Fi va Ethernet o'rtasida harakatlanadigan noutbukda muhim. Uchinchisi faylni render qilmasdan olib keladi, shuning uchun 404, vaqt tugashi va rezolver nosozligi ajralib turadi. Agar o'sha oxirgi buyruq skriptni qaytarsa, ilovalar esa hali ham ishlamasa, muammo allaqachon olib kelishdan o'tib ketgan.

DIRECT javobi aslida nimani o'tkazib yuboradi

PAC spetsifikatsiyasi mijozga kichik lug'at beradi, va DIRECT uning so'zlaridan biri. Bu so'z mijozga o'sha so'rov uchun proksidan o'tkazib yuborishni aytadi va keyin soket qaysi interfeysdan foydalanishi haqida hech narsa aytmaydi. To'liq tunnelda to'g'ridan-to'g'ri soket baribir VPN orqali chiqadi va manzilga baribir tunnelning chiqish manzilini ko'rsatadi.

DIRECT ni VPN tashqarisida deb o'qish odamlarni noto'g'ri sozlamalar paneliga yuboradigan xatodir. Ko'zgu tasviri ham xuddi shunday keng tarqalgan, chunki maxfiy proksiga bo'lingan marshrut orqali yetish mumkin, mashinaning qolgan qismi esa tunneldan tashqarida qoladi. O'shanda manzil xabar qiladigan narsa proksining o'z chiqishiga tegishli, u boshqa mamlakatda bo'lishi mumkin. Bitta ichki xost va bitta ommaviy xost uchun kutishni yozish buni tezda fosh qiladi, chunki skript ko'pincha ikkalasiga boshqacha javob beradi. Qaysi sakrash manzilni yaratganini bilsangiz, hisobot sirli bo'lishdan to'xtaydi.

Bitta xato sahifasi sifatida ko'rinadigan uchta nosozlik

Siyosat yuklanmasligi mumkin, tanlangan proksiga yetish mumkin bo'lmasligi mumkin, va xizmatga yetib kelgan so'rov u yerda baribir rad etilishi mumkin. Uchovi ham vaqt tugashi yoki umumiy xato sahifasi sifatida keladi, va hech biri buzilgan bosqichni nomlamaydi. Xatoning yonida qarorni qayd etish ularni ajratadi. Quyidagi ikki zond skript tanlagan sakrashni sinovdan o'tkazadi, u qaytarishi mumkin bo'lgan har bir tarmoq uchun bittadan.

curl -v --max-time 8 http://proxy.corp.example:8080/
curl -v --max-time 8 https://intranet.corp.example/

Proksiga tugallangan ulanish savolni autentifikatsiyaga yoki proksining o'z siyosatiga ko'chiradi, uning egasi boshqa. Yo'lda proksisiz ichki xostga tugallangan ulanish marshrutni istisno qiladi va siyosatga ishora qiladi. Ikkala buyruq ham macOS proksi lug'atini e'tiborsiz qoldiradi, agar qobiq proksi o'zgaruvchilarini eksport qilmasa, shuning uchun avval ularni tozalang. Ikkala zonddan biri ikkinchisini isbotlamaydi, shuning uchun bitta xato sahifasi shuncha uzoq chalg'itadi.

Chipta bilan nima topshiriladi

Faol tarmoq xizmatini, PAC URL'ini, muvaffaqiyatsiz xost uchun baholash natijasini va xato paydo bo'lgan bosqichni yuboring. Bu to'rttasi keyingi odamga qaysi qatlam jalb qilinganini taxmin qilish o'rniga qarorni qayta yaratish imkonini beradi. Sinov paytidagi tunnel holatini qo'shing, chunki qayta ulanishdan oldin olingan natija eskirgan. Skript reviziyasini ham saqlang, chunki siyosat fayli ogohlantirishsiz o'zgaradi va kechagi javob endi dolzarb bo'lmasligi mumkin.

Skriptni olib bo'lmaganda mijoz qanday tutishini yozib qo'ying, chunki ilovalar farq qiladi va proksi qarori butun qurilmaning favqulodda o'chirgichi emas. Ba'zilari to'g'ridan-to'g'ri ulanishga qaytadi, boshqalari yopiq holda muvaffaqiyatsiz bo'ladi, va bu farq uzilish buzilgan proksidek yoki ishlayotgan siyosatdek ko'rinishini o'zgartiradi. Hodisa paytida unga tayanishdan oldin aniq mijoz va versiya uchun xatti-harakatni tasdiqlang.

O'xshash maqolalar