Har bir qo'llanma OpenVPN uchun UDP TCP dan yaxshiroq deydi, va bu maslahat standart, o'lchov emas. Transport paketlar qanday yetkazilishini va yo'l ularni tashlaganda nima bo'lishini o'zgartiradi, tunnel qanday shifrlanishini emas. Captive portal yoki faqat 443 portiga ruxsat beruvchi proksi ortida sekinroq variant umuman ulanadigan variantdir. Quyidagilar protokol nima qilishini tarmog'ingiz nimaga ruxsat berishidan ajratadi.

Transport aslida nimani o'zgartiradi

TCP ishonchli, tartibli bayt oqimini taqdim etadi va yo'qolgan hamma narsani qayta yuboradi, RFC 9293 belgilaganidek. UDP datagrammalarni tarmoqqa topshiradi, OpenVPN esa shu soket ustida o'z ishonchlilik qatlamini ishga tushiradi. TCP ni TCP ichida kapsulalash ikki tiklanish siklini ustma-ust qo'yadi, shuning uchun bitta yo'qolgan segment ichki oqimni ushlab turishi mumkin, tashqi qayta yuborish kelguncha. Aynan shu o'zaro ta'sir UDP uchun haqiqiy dalil, va u o'tkazuvchanlik emas, kechikish sifatida ko'rinadi.

Ta'sir yo'qotish va borish-kelish vaqti bilan ortadi. Toza mahalliy yo'lda ikkala transport ham bir xil seziladi, shuning uchun laboratoriya sinovi shikoyatni kamdan-kam qayta hosil qiladi. Tiqilinchli mobil aloqada farq katta uzatish biror narsani sezishidan ancha oldin interaktiv seanslarda ko'rinadi.

Bularning hech biri maxfiylik yoki yaxlitlikka ta'sir qilmaydi. TLS qo'l berish va ma'lumot kanali shifri ikkala transport uchun bir xil, shuning uchun almashtirish zaif shifr to'plamini qutqara olmaydi.

TCP o'z o'rnini qayerda oqlaydi

Kirish tarmoqlari TCP tanlashning odatiy sababi. Mehmonxona, aeroport yoki mehmonlar tarmog'i chiquvchi 443 ga ruxsat berib, qolganini tashlab yuborishi mumkin, va shu portdagi TCP tinglovchi ishlaydigan yagona profildir. Bu yetib borish, unumdorlik emas, va o'ziyoq yetarli yaxshi sabab.

TCP yo'l barqaror, lekin oraliq qurilmalar dushman bo'lganda ham yordam beradi. Ba'zi tarmoqlar oddiy veb-trafikga o'xshash TCP seanslariga toqat qilib, uzoq muddatli UDP oqimlarini qayta o'rnatadi. Bu o'xshashlik muvaffaqiyatli bo'ladimi, aniq tarmoqning xususiyati, va hech bir qo'llanma buni hamma uchun va'da qila olmaydi. Protokolni ayblashdan oldin muvaffaqiyatsiz bo'lgan tarmoq ichida sinab ko'ring.

Rad etilgan kirish transport muammosi emas. Ulanishni majburan o'tkazish uchun sertifikat tekshiruvini o'chirish natijasi ancha yomon bo'lgan boshqa o'zgarish.

TCP profilini tayyor saqlash amaliy murosadir. Aksariyat mijozlar ikkalasini saqlaydi va tarmoq UDP yo'lini rad etganda almashtirishga ruxsat beradi, bu kerak bo'lgunga qadar hech narsa turmaydi. Qilmasligingiz kerak bo'lgan narsa — turli oxirgi nuqtalarga ishora qiluvchi ikkita profilni yetkazish, chunki unda solishtiruvingiz serverlarni o'lchaydi.

Haqiqatan qaysi tinglovchi borligini tekshiring

Unumdorlikni solishtirishdan oldin ikkala tomon transport va port bo'yicha kelishganini tasdiqlang. Mijoz faylida proto udp ni proto tcp ga o'zgartirish server tinglovchisini yaratmaydi. Server shu protokol uchun sozlangan bo'lishi kerak, profil esa unga mos kelishi lozim.

grep -E '^(proto|port|remote)' /etc/openvpn/server.conf
ss -lunp | grep openvpn
ss -ltnp | grep openvpn

grep serverga nima ishlatish aytilganini chop etadi, ikki soket ro'yxati esa u nimaga bog'langanini ko'rsatadi. UDP tinglovchi faqat birinchi ro'yxatda, TCP tinglovchi faqat ikkinchisida ko'rinadi, shuning uchun yo'q qator hech qachon qo'llanilmagan profilni topishning eng tez yo'lidir. Portni ham solishtiring, chunki 1194 dagi TCP profili aksariyat kirish tarmoqlarida 443 dagidan boshqacha harakat qiladi. O'zgarishdan keyin xizmatni qayta ishga tushiring va bog'lanish haqida xabar beruvchi jurnal qatorini o'qing.

Mijoz tomonida tasdiqlash arzon: ulanishni --verb 4 bilan ishga tushiring va jurnaldagi transport qatorini o'qing. Mijoz UDP desa, server TCP da tinglasa, qo'l berish hech qachon boshlanmaydi va hech qanday sozlash yordam bermaydi.

Transport yorlig'ini emas, ish yukini solishtiring

Adolatli solishtirish transportdan boshqa hamma narsani doimiy saqlaydi. Xuddi shu qurilma, xuddi shu kirish tarmog'i, xuddi shu maqsad xost, xuddi shu dastur va ideal holatda xuddi shu server. Ikki profil turli xostlarga ishora qilsa, siz o'sha xostlarni ham o'lchaysiz.

Har bir ishga tushirish uchun uch natijani yozing: tunnel o'rnatiladimi, saqlanadimi va vazifa tugaydimi. Katta uzatishlar tiqilib qolganda ishlaydigan kichik so'rovlar transportga emas, paket hajmi va MTU ga ishora qiladi. Takroriy qayta ulanishlar yo'lga yoki oraliq qurilma taymautiga ishora qiladi.

Haqiqatan uchraydigan sharoitlarda ishlaydigan profilni saqlang, ikkinchisini ham saqlab qo'ying. Tanlov odamga emas, tarmoqqa tegishli, shuning uchun har qanday yagona standart javob bir joyda xato.

O'xshash maqolalar