Faqat proksi orqali chiqishga ruxsat beradigan tarmoqlar ishlayotgan profil birdan o'ladigan joydir. Proksi manzili bu muvaffaqiyatsizlikdagi eng kam qiziqarli o'zgaruvchi. Hamma narsani proksi uzatadigan trafik shakli hal qiladi, chunki bu proksilar bayt oqimini yuboradi va UDP tunnel bunday emas. Bu ikkita arxitektura qoldiradi va ular turli joylarda buziladi.

Dizaynni bitta cheklov hal qiladi

SOCKS5 haqiqatan ham UDP assotsiatsiya rejimini belgilaydi. Shunga qaramay OpenVPN mijozi proksi qo'llab-quvvatlashi oqimlar atrofida qurilgan: socks-proxy TCP profillari uchun hujjatlashtirilgan va HTTP CONNECT proksining datagramlar uchun yo'li umuman yo'q. Hujjatning bir satri konfiguratsiya fayliga tegishdan oldin arxitekturani hal qiladi.

Demak savol qaysi proksini tanlash emas. Savol tunnel oqimga aylanadimi yoki datagram bo'lib qolib, proksilashni boshqa narsa o'ziga oladimi.

A variant: tunnelni oqimga aylantiring

Buning uchun TCP tinglovchisi bo'lgan server va proksini nomlaydigan mijoz profili kerak. Ikkala qism ham zarur va odamlar unutadigan qism server tomoni:

proto tcp-client
remote vpn.example.net 443
socks-proxy 127.0.0.1 1080

Oxirgi satrni http-proxy proxy.internal 8080 bilan almashtiring, proksi HTTP gapirganda, va talab qilsa hisob ma'lumotlari faylini qo'shing. Proksi VPN portingizga CONNECT qilishga tayyor bo'lishi, server esa TCP bo'yicha javob berishi kerak; faqat UDP tinglovchisi bu urinishni e'tiborsiz qoldiradi. 443 ni tanlash amaliy qadam, chunki ko'p cheklangan tarmoqlar shunga va ozgina boshqa narsaga ruxsat beradi.

Narx TCP ustiga TCP qo'yishdir. Bitta yo'qolgan tashqi segment shu ulanishni bo'lishadigan har bir ichki oqimni to'xtatadi, shuning uchun odatda mustaqil bo'lgan tiklanish umumiy bo'ladi. Sozlash ham uzoqroq davom etadi va beqaror tashqi yo'l sekin emas, beqaror tunnelga aylanadi.

B variant: tunnelni yolg'iz qoldiring

Tunnel UDP da qolishi kerak bo'lganda, biror narsa sozlanadigan joy tunnel emas. Buning o'rniga ilovalardan chiqadigan TCP mahalliy SOCKS tinglovchisiga yo'naltiriladi va ilovalar proksi borligini hech qachon bilmaydi. Linux da bu odatda redsocks va nat jadvalida NAT REDIRECT qoidasi.

Yana faqat TCP. privoxy kabi faqat HTTP proksi ixtiyoriy protokollarni uzata olmaydi va bu dizayn ilovalar uchun datagram qo'llab-quvvatlashini ham qo'shmaydi.

Dasturiy ta'minot qo'llab-quvvatlaydigan joyda har bir ilovaga proksi haqida to'g'ridan-to'g'ri aytish odatda yaxshiroq. Uni audit qilish osonroq va u siz haqiqatan ko'ra oladigan joyda buziladi.

Har bir variant qayerda buziladi

A variant serverda TCP tinglovchisi bo'lmasa, proksi CONNECT nishonini rad etsa yoki tashqi oqim tunnelga kerakli darajadan pastga cheklansa buziladi. Birinchi ikkitasi proksi jurnalida yozuv qoldiradi; uchinchisi o'rnatilgan va keyin noto'g'ri tuyuladigan ulanish qoldiradi. Profilni tahrirlashdan oldin o'sha jurnalni o'qing, chunki u ruxsat muammosini sig'im muammosidan ajratadi. Tugallangan CONNECT tekshiruvni tunnel ichiga olib kiradi.

B variant datagram talab qiladigan har bir narsa uchun, proksi tushunmaydigan protokollar uchun va yo'naltirish qoidasi mavjud bo'lsa-da, marshrutlash trafikni uning yonidan o'tkazadigan xostlarda jimgina buziladi.

Hech bir variant qurilma talabini o'zgartirmaydi. Paketlar yadro ularni marshrutlashdan oldin hali ham TUN yoki TAP tuguniga muhtoj, shuning uchun jarayon hali ham /dev/net/tun ga ruxsatga muhtoj. O'ram o'sha tugun ochilgandan keyin nima bo'lishini o'zgartiradi, unga muhtojligingizni emas.

Qaysi yo'lni qurganingizni isbotlang

Tray belgisiga emas, soketlarga qarang. VPN jarayoni proksi manziliga o'rnatilgan ulanishni ushlab turishi va proksi undan so'ralgan nishonni jurnalga yozgan bo'lishi kerak:

ss -tnp | grep openvpn

Keyin faqat tunnel xizmat qila oladigan manzilga va faqat tunnel hal qiluvchisi javob bera oladigan nomga boring. O'lik tunnel bilan tugallangan proksi ulanishi odatda uzoq tomon profilingizda nomlangan transportni hech qachon taklif qilmaganini bildiradi.

Transport va qabul qiluvchi proksini uzoq saqlanadigan joyga yozib qo'ying. Xuddi shu profil boshqa tarmoqda buzilsa, bu yozuv proksini bir necha soniyada istisno qiladi yoki tasdiqlaydi.

O'xshash maqolalar