Tunnel ishlab turibdi, siz qo‘shimcha terminalni yopasiz va mijoz ichida birorta tugma bosilmasdan VPN tushib ketadi. Linux AnyConnect mijozida ko‘rsatilgan sabab marshrutlash emas, sessiya hisobi: mijoz tunnel ko‘tarilganda qaysi kirish sessiyalari bo‘lganini yozib oladi va ularning har birining tugashini tunnelni yiqitish uchun sabab deb biladi. Quyidagi tekshiruvlar tartib bilan boradi va birinchi muvaffaqiyatsiz bo‘lgani siz haqiqatan shu xatti-harakatni ko‘ryapsizmi-yo‘qmi, shuni aytadi. Mijozning odatiy chiqishida terminal haqida hech narsa aytilmaydi, shuning uchun birinchi instinkt, konsentratorni ayblash, odatda behuda mehnat.

Tizim fayllarini tahrirlashdan boshlamang. Har bir qadam yo uzilishni tushuntiradi, yo bitta nomzodni olib tashlaydi, arzon qadamlar esa oldin keladi.

Sessiya uzilishini pastki qatlam uzilishidan ajrating

Uzilishdan so‘ng darhol qayta ulanib ko‘ring. Bir necha soniya ichida, o‘sha tarmoqda va yangi hisob ma’lumotlarisiz qaytgan tunnel o‘lik yuqori kanal, Wi-Fi roumingi yoki konsentratordagi bo‘sh turish muddati emas, balki yopilgan sessiya kabi mahalliy turtki ekanini ko‘rsatadi. Connecting da osilib qoladigan yoki tarmoqni almashtirmaguningizcha ishlamaydigan tunnel boshqa maqola.

Tunnel ko‘tarilganda nima ochiq bo‘lganini yozib qo‘ying: mijozni ishga tushirgan terminal, har qanday ikkinchi shell, grafik kirish va boshqa mashinadan olingan har qanday SSH sessiya. Bu ro‘yxat tez orada kerak bo‘ladi, keyingi uzilishdan so‘ng uni xotiradan tiklash esa ishonchsiz.

Ulanish paytida mijoz nima yozib olganini tekshiring

Mijoz jarayon ota-onalarini yoki terminal egaligini tekshirmaydi. U ulanish paytida mavjud bo‘lgan kirish sessiyalari to‘plamining suratini oladi va keyin o‘sha to‘plam bilan solishtiradi; a’zo yo‘qolsa, solishtirish muvaffaqiyatsiz bo‘ladi va tunnel ham u bilan ketadi. Shuning uchun siz ulangan oynani yopish zararsiz bo‘lishi mumkin, ammo aloqasiz qo‘shimcha terminalni yopish ulanishni o‘ldiradi: muhimi o‘sha sessiya boshlang‘ich to‘plamda bo‘lganmi. Bu son emas, to‘plam solishtiruvi, shuning uchun sessiyani almashtirish ham bittasini yo‘qotish kabi halokatli bo‘lishi mumkin.

Biror narsani o‘zgartirishdan oldin mijoz ko‘ra oladigan narsalarni sanab chiqing:

who
w
last -n 10
sudo ls -l /run/utmp

who dan kelgan har bir satr utmp dagi foydalanuvchi jarayoni yozuvi. Agar sessiyangiz ikki marta ko‘rinsa, biri grafik kirish uchun va biri terminal uchun, ikkala yozuv ham ulanish paytida bo‘lgan va ikkalasi ham nomzod.

utmp dan faqat o‘z yozuvingizni olib tashlang

E’lon qilingan yechim siz ishlatmoqchi bo‘lgan sessiyani mijoz boshlanishidan oldin utmp da ko‘rinmas qiladi. Kichik C dasturi getutent() bo‘ylab yuradi, ut_line standart kiritishning TTY siga teng bo‘lgan yozuvni topadi va so‘ng o‘sha yozuvni qayta yozadi. Tartib ataylab shunday: setutent(), yozuvni o‘qish, uning ut_id ni nusxalash, ut_type ni DEAD_PROCESS ga o‘rnatish, foydalanuvchi va satr maydonlarini tozalash, pututline() bilan qayta yozish, so‘ng endutent().

Uni kompilyatsiya qiling, so‘ng mijozni boshlaydigan shell dan root sifatida ishga tushiring:

sudo ./utmpremove && /opt/cisco/anyconnect/bin/vpn -s connect vpn.example.edu

Asbob hech narsa qilmaydi degan xabarlarning ko‘pchiligini ikki nosozlik usuli tushuntiradi. U standart kiritishga bog‘langan TTY da ishlaydi, shuning uchun terminalsiz skript yoki cron ishidan ishga tushirish moslashtiradigan narsa qoldirmaydi. Va /run/utmp oddiy foydalanuvchilar uchun yozilmaydi, shuning uchun root siz ishga tushirish chiqish holatini tekshirmasangiz jimgina muvaffaqiyatsiz bo‘ladi.

Tunnel yopilishga chidashini tekshiring

Mexanizmni taxmin qilish o‘rniga sinab ko‘ring. Saqlab qolmoqchi bo‘lgan sessiyadan ulanib, ikkinchi terminalni ochib, ikkinchisini yoping, so‘ng vpn state va interfeys ro‘yxatiga qarab tunnel hali ham ko‘tarilganini tasdiqlang. Tunnel omon qolsa, turtki har bir sessiya emas, muayyan sessiya turi bo‘lgan va ochiq qolishi kerak bo‘lgan sessiyani topgansiz.

Agar u baribir uzilsa, kuzatilgan sessiya boshqa joyda bo‘lgan, ko‘pincha terminalingizni tug‘dirgan grafik kirish, va bitta TTY yozuvini olib tashlash yordam bermaydi. Yana operatsiya qo‘shish o‘rniga birinchi qadamdagi to‘liq ro‘yxat bilan kuzatuvni takrorlang.

utmp ni qayta yozish qachon noto‘g‘ri javob

utmp umumiy hisob, shaxsiy jadval emas. Hali tirik sessiyaning yozuvini qayta yozish who, w va ba’zi audit vositalari uni kam ko‘rsatishiga olib keladi, keyin o‘sha yozuvni yopadigan dastur butunlay ishlamay qolishi mumkin. Asbobni faqat o‘z sessiyangiz bilan cheklang, asl faylning nusxasini saqlang va uni har bir yozuvni o‘chiradigan yuklash xizmatiga aylantirmang.

Agar tashkilotingiz muvofiqlik uchun sessiya hisobini yig‘sa, bu yechim o‘sha talabga zid bo‘ladi va qo‘llab-quvvatlanadigan javob mijoz versiyasi yoki boshqa kirish usuli, yamalgan utmp emas. Ko‘pchilik uchun eng kam aralashuvchi tuzatish mijozi kun bo‘yi ochiq turadigan sessiyadan boshlash va o‘sha oynani tinch qo‘yish.

Ticketni yopishdan oldin tunnel ko‘tarilganda mijoz qaysi sessiyani kuzatayotganini yozib qo‘ying. O‘sha bitta satr sirli uzilishni mashinadagi keyingi odam uchun takrorlanadigan shartga aylantiradi.

O'xshash maqolalar