ifconfig-noexec SSH sessiyangizni saqlab qolmaydi: u aslida nima qiladi
U OpenVPN'ning o‘z interfeys manzili sozlamasini bostiradi. SSH uchun javob yo‘lini zahiralmaydi, barcha marshrut o‘zgarishlarini o‘chirmaydi va yetishmayotgan manzilni bermaydi.
Bir forum mavzusida, ifconfig-noexec tunnel ko‘tarilganda SSH sessiyasini tirik saqlaydigan yechim sifatida taklif etiladi. Bu mulohaza variant aslida nimaga tegishini tekshirmaguningizcha ishonchli tuyuladi. U OpenVPN tunnel interfeysining manzilini sozlashiga to‘sqinlik qiladi va o‘sha qiymatlarni o‘rniga skriptlarga beradi; boshqaruv ulanishimgizga keladigan javoblar qayerga ketishi haqida esa hech narsa demaydi. Aksini deb hisoblash ishlatib bo‘ladigan manzilsiz tunnel va shunga qaramay o‘ladigan SSH sessiyasini keltirib chiqaradi.
Bu variant aslida nimani topshiradi
Odatiy holatda klient tunnel qurilmasini ko‘taradi va server bergan mahalliy hamda masofaviy manzillarni tayinlaydi. ifconfig-noexec o‘rnatilganda bu qadam o‘tkazib yuboriladi va kelishilgan qiymatlar skript muhitiga eksport qilinadi, shunda boshqa narsa ularni qo‘llashi mumkin.
Egalik qo‘l o‘zgaradi. Uning o‘rniga hech narsa o‘ylab topilmaydi.
Demak, variant javob beradigan savol — interfeysni kim sozlaydi, va u javob bermaydigan savol — paketlar sizga qanday qaytib yo‘l topadi. Bu ikkalasini alohida tuting, aks holda manzilsiz interfeysni qoplash uchun butun oqshomni marshrutlarni tahrirlash bilan o‘tkazasiz.
Ishlari har xil uchta o‘xshash variant
Nomlar bir so‘z bilan farq qiladi va belgilar bir-biriga qo‘shilib ketadi, shuning uchun bu oilani chalkashtirish oson. Birortasini tanlashdan oldin har biri nimani bosishini o‘qing.
| Option | What stops happening |
|---|---|
ifconfig-noexec | OpenVPN's own tunnel-address configuration; values go to scripts instead |
route-noexec | Automatic route addition and removal; route details go to a script |
route-nopull | Server-pushed routes and related options such as DNS are rejected |
Bular alohida tushuniladigan muqobillar, birga yopishtiriladigan to‘plam emas. Manzil sozlamasini bosish marshrut o‘zgarishlarini, xavfsizlik devori qoidalarini yoki DNS olib yuruvchi itarilgan variantlarni bosmaydi. Topshirilgan skript ham marshrutlarni o‘zgartirishga erkin, va bu siz qochish o‘rniga topshirayotgan qaror.
Agar sotuvchi klienti dvigatelni o‘rasa, profilga past darajali ko‘rsatma tashlab, o‘rovchi unga rioya qiladi deb umid qilish o‘rniga uning qo‘llab-quvvatlanadigan integratsiyasidan foydalaning. O‘rovchilar ulanayotganda profilni tez-tez qayta yaratadi, shuning uchun qo‘lda qilingan o‘zgartirish xatosiz yo‘qoladi. Faylga butun oqshom sarflashdan oldin klient sozlamalarini qayerda saqlashini tekshiring. Bu jadvalning har bir qatoriga tegishli, faqat siz kelgan qatorga emas.
Siz himoya qilmoqchi bo‘lgan SSH sessiyasi
SSH ulanishining manba manzili, maqsad manzili va javob yo‘li bor. To‘liq tunnel odatiy holatini endi o‘rnatgan serverda ochiq manzilingizga ketadigan javob tunnelga mos keladi va VPN darvozasi uni tashlab yuboradi.
Tunnel interfeysining manzil sozlamasida hech narsa buni o‘zgartirmaydi.
Buni tuzatadigan narsa — tunnelgacha bo‘lgan darvoza orqali boshqaruv manzilingiz uchun aniqroq marshrut yoki o‘sha trafikni buruvchi siyosat qoidasi, qo‘shimcha ravishda xostingiz qo‘llaydigan filtr sozlamalari. Ikki muammo ba’zan birga ko‘rinadi va shu sababli biri ikkinchisining davosi deb qabul qilinadi. Ularni alohida sinab ko‘ring: tunnelni variant bo‘lmasa ham ko‘taring, interfeys manzili va javob yo‘lini ko‘ring, so‘ng ikkisidan qaysi biri haqiqatan buzilganini hal qiling.
Topshirilgan skript nimani o‘z zimmasiga olishi kerak
Agar interfeysni haqiqatan boshqa egasi sozlashini xohlasangiz, ishni sanab chiqing: mahalliy va masofaviy manzilni qo‘llang, qurilmani ko‘taring, uzish paytida manzillashni tiklang yoki olib tashlang va qayta ulangandan keyin xuddi shuni yana qiling. Bitta muvaffaqiyatli sessiya qiymatlarini qattiq kodlash mumkin emas, chunki server keyingi safar boshqa juftlik berishi mumkin.
Klient eksport qiladigan muhit o‘zgaruvchilari bu ish uchun yagona qo‘llab-quvvatlanadigan kirishdir.
env | grep -E '^ifconfig_|^route_'Har qanday route-up skript ichida bu o‘zgaruvchilar mavjud; cron vazifasidan yoki qo‘lda ishga tushirilgan shelldan mavjud emas. Versiyangiz qaysi hayot tsikli ilgagini ishlatishini va ilgak interfeysni o‘zgartirish uchun yetarli imtiyozlar bilan ishlashini tasdiqlang, chunki klient allaqachon imtiyozsiz foydalanuvchiga tushib qolgan bo‘lishi mumkin.
Bitta sessiyani emas, butun hayot tsiklini sinang
Tunnelni ko‘taring, qurilmadagi manzilni tekshiring, so‘ng qayta ulanib yana tekshiring. Bir marta ishlab, ikkinchi urinishda muvaffaqiyatsiz bo‘ladigan konfiguratsiya odatda topshirilgan qadam faqat birinchi ulanishda ishlashini bildiradi.
So‘ng ikkala qabul mezoni birga sinang: mo‘ljallangan boshqaruv yo‘li orqali yangi SSH ulanishi ishlaydi va ruxsat etilgan dastur tunneldan to‘g‘ri foydalanadi.
Tunnel manzilsiz bo‘lganda eski SSH sessiyasining tasodifan tirik qolishi muvaffaqiyat emas va hech kim ishni o‘z zimmasiga olmasa, bu variant aynan shu holatni keltirib chiqaradi. Avval interfeys manzilini, keyin boshqaruvning javob yo‘lini, keyin dasturni tekshiring. Uchtadan ikkitasi noto‘g‘ri bo‘lsa, variant ishni ko‘chirgan, lekin unga egasi bermagan.