Bu yerda uchta transport ustma-ust tushadi va har birining o'z ramkalashi bor. VPN yuki TLS sessiyasi ichida boradi, o'sha TLS sessiyasi loopback portiga TCP ulanishi ichida boradi, va o'sha ulanishning baytlari SSH ichida relay xostiga boradi, u VPN tinglovchisiga haqiqiy TCP ulanishini ochadi. Bu tartibda hech narsa o'zgartirmaydi OpenVPN nimani autentifikatsiya qilishini, va unda hech narsa UDP tinglovchini TCP orqali yetib boradigan qilmaydi. Qolganini bayt yo'lining tavsifi sifatida o'qing, tarmoq nazoratini chetlab o'tish retsepti sifatida emas.

Mahalliy yo'naltirish aslida nimani ko'chiradi

SSH mijozi mahalliy portda tinglaydi. Mahalliy jarayon ulanganda, mijoz baytlarni o'zining shifrlangan kanaliga joylaydi, server tomoni esa yo'naltirish so'rovida nomlangan manzilga yangi TCP ulanishini ochadi.

Bu manzilni relay hal qiladi, sizning mashinangiz emas, shuning uchun faqat uzoq tarmoq ichida mavjud bo'lgan nom ham ishlaydi. Bu shuni ham bildiradi ki, relay VPN tinglovchisiga yetib borishi va unga qaytish yo'liga ega bo'lishi kerak. Noutbukingizda hal qilinadigan nom relay nima ko'rishini aytmaydi.

SSH sessiyasini boshlash faqat relay yetib boradigan va autentifikatsiya qilinganligini isbotlaydi. U keyingi tinglovchi ishlayaptimi, relay va tinglovchi orasidagi xavfsizlik devori ulanishni qabul qiladimi yoki VPN profilingizni qabul qiladimi, buni aytmaydi.

Mijozni mahalliy tinglovchiga yo'naltiring

E'lon qilingan misol: relay gw.internal.example:443 dagi TCP tinglovchiga yetib boradi, baland mahalliy port esa bu yo'lni faqat shu mashinaga ochadi.

ssh -N -L 127.0.0.1:24011:gw.internal.example:443 [email protected]

OpenSSH qo'llanmasi mahalliy yo'naltirishni TCP ulanishlarini mahalliy qabul qilish va keyingi ulanishni uzoq tomondan ochish deb ta'riflaydi. Tinglovchini barcha interfeyslarga emas, loopbackka bog'lang, chunki tarmoqdan yetib boradigan yo'naltirish sizning nomingiz yozilgan ochiq relaydir. Joker belgili bog'lash portni umumiy mashinadagi har qanday boshqa mahalliy hisobga ham ochadi.

Keyin VPN mijozini TCP rejimiga o'tkazing va uni 127.0.0.1:24011 ga yo'naltiring. Agar profil UDP ishlatsa, bu loyiha yordam bera olmaydi: yo'naltirish bayt oqimini ko'chiradi va u orqali datagram yo'li yo'q.

Ikki autentifikatsiyani alohida saqlang

SSH relay xostini autentifikatsiya qiladi. OpenVPN hali ham VPN sherigini autentifikatsiya qiladi va loopback manzili bu talabni o'zgartirmaydi. Soket endi localhostga ishora qilgani uchun sertifikat tekshiruvlarini o'chirish bu loyihadagi eng yomon qisqa yo'l. Bu transport tartibini ishonch tartibiga aylantiradi va ikkinchisiga hech kim rozi bo'lmagan.

Profilning ishonch langarini, server roli tekshiruvini va nom tekshiruvini buzilmagan holda saqlang. Agar mijozingiz server nomini u qo'ng'iroq qilgan manzil bilan solishtirsa, loopbackka o'chirilgan tekshiruv o'rniga aniq nom sozlamasi kerak bo'lishi mumkin va qaysi maydon solishtirilishini tasdiqlash joyi profil hujjatlaridir.

Relayga ishonch hikoyasidagi ikkinchi tomon sifatida qarang: uning administratori ulanish metama'lumotlarini ko'ra oladi va konfiguratsiya o'zgarsa yo'naltirishni boshqa tomonga burishi mumkin. Bu tartib relay va VPN xizmati egasining ikkalasining ham roziligini talab qiladi, faqat bugun kerak bo'lgan kishining emas.

Tunnel ostida halqa qurmang

VPN yo'llarni o'rnatgandan keyin ham uni olib yuruvchi SSH ulanishi tunnel orqali o'tmaydigan relay yo'liga muhtoj. Agar standart yo'l VPNga o'tsa va relay faqat o'sha tunnel orqali yetib boradigan bo'lsa, transport qulaydi va VPN ham u bilan ketadi. Nosozlik marshrut xatosi kabi emas, balki yiqilgan tunnel kabi ko'rinadi, shuning uchun noto'g'ri tashxis qilinadi.

Odatiy tuzatish tunnel ko'tarilishidan oldin fizik interfeysga qadalgan relay manziliga xost yo'li, qo'shimcha ravishda yo'l qayta ulanishdan keyin ham saqlanishini tekshirish. Tartib to'g'ri edi deb taxmin qilish o'rniga relay manzili uchun yo'l qidiruvi bilan tekshiring.

Shuningdek, bu to'plam to'g'ridan-to'g'ri ulanishdan sekinroq va nozikroq bo'lishini kuting, chunki endi ikkita tartiblangan transport va parvarish qilish uchun yana bir oxirgi nuqta bor. Bu tarmoq chegarasidan o'tish usuli, unumdorlik texnikasi emas.

Tugatgach tinglovchini yoping

Tunnel endi kerak bo'lmaganda SSH sessiyasini to'xtating va mahalliy port bo'shatilganini tasdiqlang. Unutilgan yo'naltirish umumiy bo'lishi mumkin bo'lgan mashinada autentifikatsiya qilingan yo'lni ochiq holda qoldiradi.

Relayning ruxsat etilgan yo'naltirish manzillarini ham ko'rib chiqing, chunki yumshoq konfiguratsiya har qanday buzilgan hisobni umumiy tayanch nuqtasiga aylantiradi. Portni, relayni va manzilni birga yozib qo'ying, keyingi odam yo'naltirish nima uchun bo'lganini va hali tasdiqlanganligini bilsin.

O'xshash maqolalar