Qayta yuklashdan keyingi birinchi ulanish ishlaydi. Undan keyingi har bir urinish ulanish bosqichida osilib qoladi va oxir-oqibat vaqt tugaydi, yagona ishonchli chora — yana bir qayta yuklash. Bu namuna profil muammosi emas va u hisob ma'lumotlari muammosi ham emas. Fonda nimadir hali ham oldingi urinish holatini ushlab turadi va keyingi urinish u bilan to'qnashadi.

macOS da bu nimadir odatda IKE demoni.

Namuna: bitta ulanish, keyin vaqt tugashi

Har yuklashda roppa-rosa bir marta ishlaydigan ulanish uzilishdan keyin saqlanadigan, lekin qayta yuklashdan keyin saqlanmaydigan holatga ishora qiladi. Profillar ikkalasidan ham omon qoladi, shuning uchun profil o'zgaruvchi emas. Hisob ma'lumotlari ham ikkalasidan omon qoladi, agar server hisobni bloklamasa. Qayta yuklashda o'zgaradigan narsa — ishlab turgan demonlar to'plami va ular ushlab turgan soketlar.

Bu bitta jurnalni ochishdan oldin tekshiruvni toraytiradi. Savol qaysi jarayon IKE portiga ega va u o'zini nima qilyapti deb o'ylaydi degan savolga aylanadi.

Ikki demon, bitta port

Tizim ishga tushiradi racoon ulanish IKE 1-versiyasida gaplashganda. Joriy nashrlar ham olib keladi iked IKEv2 va yangiroq IPsec steki uchun. Ikkalasi ham UDP 500 va UDP 4500 ni egallashi mumkin, va ikkalasi ham parol so'rovida ulanish urinishi bekor qilingan yoki tarmoq o'zgarishi bilan to'xtatilganidan keyin yarim ochiq xavfsizlik birlashmasini saqlab turishi mumkin.

Bu sodir bo'lganda, keyingi urinish toza boshlanmaydi. Eski birlashma hali ham sherikning holatini egallab turganda u muzokara qilishga urinadi va almashinuv aniq xato bilan muvaffaqiyatsiz bo'lish o'rniga to'xtab qoladi. Foydalanuvchi aylanuvchi belgini ko'radi, keyin vaqt tugaydi.

Biror narsani o'ldirishdan oldin egasini toping, chunki javob qaysi xizmatni qayta ishga tushirishingizni va keyin qaysi jurnalni o'qishingizni belgilaydi.

sudo lsof -i :500 -i :4500
ps -ef | grep -E "racoon|iked"

Natijani ikkita fakt sifatida o'qing: qaysi jarayon portni ushlab turadi va ulardan bir nechtasi bormi. Bitta soket uchun raqobatlashayotgan ikki IKE demoni beqaror serverga o'xshab ko'rinadigan ko'p uzilishli xatti-harakatni tushuntiradi.

Jarayonni emas, vazifani qayta ishga tushiring

Eski tizimlarda jarayonni o'ldirib, keyingi ulanish uni qayta ishga tushirishiga ruxsat berish kifoya. Joriy nashrlarda demonni launchd boshqaradi va faqat jarayonga signal yuborish vazifani u na ishlaydigan, na boshlashga rejalashtirilgan holatda qoldirishi mumkin. Buning o'rniga vazifani to'xtatib, ishga tushiring.

sudo launchctl stop com.apple.racoon
sudo launchctl start com.apple.racoon

Agar launchd da vazifa yozuvi bo'lmasa, jarayonni nomi bilan o'ldirish keyingi urinishda yangi muzokarani baribir majburlaydi. Sinov ikkala holatda ham bir xil: qayta ulanishga uringanda hech bir jarayon portni ushlab turmasligi kerak. Buni o'sha buyruq bilan tasdiqlang lsof qayta yuklash ishladi deb taxmin qilish o'rniga.

Keyin bir marta ulanib, mijoz jurnalini boshidan o'qing. 1-bosqichdan o'tib, keyin uzatish xatosi haqida xabar beradigan muzokara mahalliy soket muammosini takrorlaydi; sherik rad etgan muzokara butunlay boshqa chipta.

Serverning o'zi rad etayotganda

Har ikkinchi ulanish mahalliy ravishda muvaffaqiyatsiz bo'lavermaydi. Server uzilishdan keyin belgilangan oyna davomida yangi kirishni rad etishi mumkin, mijozdagi vaqt tugashi esa qotib qolgan demon kabi ko'rinadi. Farqni aniqlash arzon: agar demonni qayta ishga tushirish yordam bermasa, lekin boshqa hisob darhol ulansa, oyna server tomonida va Mac hech qachon muammo bo'lmagan.

Bo'lingan tunnel siyosati xuddi shu shaklni qarama-qarshi tomondan hosil qiladi. Tunnelda butun trafikni talab qiladigan server bo'lingan tunnel uchun sozlangan mijozni muzokara davomida tashlab yuboradi va mijoz siyosat rad etilishi o'rniga vaqt tugaganini xabar qiladi. Profilni hamma narsa tunnel orqali ketadigan qilib o'zgartirish uni ulashi mumkin, lekin bu tarmoq egasi bilan qabul qilinadigan siyosat qarori, jimgina qo'llaniladigan tuzatish emas.

Mijozni yana o'zgartirishdan oldin sherikning jurnalini o'qing. Rad etish, siyosat nomuvofiqligi va jimgina tashlab yuborish — uchtasi ham Mac ekranida «ulanmoqda» bo'lib ko'rinadigan uch xil sabab.

Eski mijozlar va 64 bitli yadro

Eski Cisco IPSec mijozi 32 bitli va PowerPC tizimlar uchun qurilgan yadro kengaytmasini yuklaydi. 64 bitli yadroga yuklangan Mac da bu kengaytma yuklanmaydi va mijoz VPN quyi tizimiga umuman eta olmagani uchun 51 xatosi bilan erta muvaffaqiyatsiz bo'ladi. Yadro kengaytmasini necha marta qayta yuklashdan qat'i nazar, noto'g'ri arxitekturali kengaytma tuzatilmaydi.

Kengaytmani qayta yuklash bir muddat ishlab, keyin keyingi yuklashda yana muvaffaqiyatsiz bo'lishi mumkin. Barqaror javoblar — eski yadroni hali qo'llab-quvvatlanadigan joyda ishga tushirish yoki tizim bilan keladigan ichki mijozga o'tish. Yuklanmaydigan uchinchi tomon mijoziga kech sarflashdan oldin arxitekturani tekshiring.

  • Bir marta qayta hosil qiling, keyin profilga tegishdan oldin qaysi demon UDP 500 ga ega ekanini tekshiring.
  • 1-bosqichdan keyingi birinchi muvaffaqiyatsizlikni o'qing: uzatish xatosi mahalliy soketga ishora qiladi.
  • Faqat jarayonni emas, launchd vazifasini qayta ishga tushiring va port bo'sh ekanini tasdiqlang.
  • Server tomonidagi qayta autentifikatsiya oynasini mijoz nosozligidan ajratish uchun ikkinchi hisobni sinab ko'ring.
  • Mijozni ayblashdan oldin yadro arxitekturasini yozib oling.

Roppa-rosa bir marta ishlaydigan VPN — aksi isbotlanmaguncha holat muammosi. Demonni tozalash qayta yuklashdan tezroq va qayta yuklash tashlab yuboradigan jurnal dalillarini saqlaydi.

O'xshash maqolalar