Korporativ VPNda konteyner HTTPS'i osilib qoladimi? DTLS oyog'ini sinang
Konteyner ichida kirish ishlaydi, lekin HTTPS osilib qoladi, shuning uchun UDP ma'lumot kanalini sinang. DTLSni o'chiring, ikkala oqimni solishtiring, keyin bayroqni saqlashdan oldin MTUni tekshiring.
Korporativ VPN orqasidagi konteyner ichida DNS hal qilinadi, kirish sahifasi yuklanadi, salomatlik nuqtasi javob beradi, so'ngra HTTPS so'rovi vaqt tugaguncha osilib qoladi. Tasvirni qayta qurish va proksi o'zgaruvchilarini o'zgartirish hech narsani o'zgartirmaydi, chunki nosoz qism tasvirda emas. Mijoz bir transportda autentifikatsiyadan o'tadi va katta ma'lumotlarni boshqasida ko'chiradi, va faqat ikkinchisi buzilgan.
Ikki transport, bitta chalkash alomat
TLS asosidagi korporativ mijoz odatda oddiy TLS ulanishi orqali autentifikatsiyadan o'tadi, so'ngra sessiya uchun UDP asosidagi ikkinchi ma'lumot kanalini kelishadi. Bu ikkinchi oyoq ishlaganda o'tkazuvchanlik va kechikish yaxshilanadi. U filtrlansa yoki yo'lga sig'masa, katta uzatishdan oldingi hamma narsa muvaffaqiyatli bo'ladi va uzatishning o'zi to'xtaydi, bu aynan yuqoridagi naqsh.
Konteyner bu kelishuvni o'zgartirmaydi; u tashqi paketlar yuradigan yo'lni o'zgartiradi. Xost konteyner oqimini tarjima qiladi, shuning uchun UDP datagrammalari mijozning lokal soketidan boshqa manba portidan chiqadi va o'rnatilgan TCP oqimiga qaraganda ancha qisqa taymer bilan tugaydigan tarjima yozuvi orqali qaytadi. Agar tunnel xostda ishlab, konteynerda ishlamasa, ilovani ayblashdan oldin o'sha ikki oqimni solishtiring. Bu taqqoslash har qanday tasvirni qayta qurishdan ko'proq narsani hal qiladi.
Intuitsiya bilan emas, tajriba bilan qaror qiling
Eng arzon tajriba UDP ma'lumot kanalini o'chirib, so'rovni takrorlaydi. Ish stoli o'ramasi o'rniga buyruq qatori mijozidan foydalaning, shunda bayroq rostdan qo'llanadi: openconnect vpn.example.net --user=you --interface=tun0 --no-dtls. Agar osilib qolgan so'rov endi tugasa, muammo DTLS oyog'ida edi, qolgani shovqin.
Natijani bir konteynerdan ikki yo'nalishda tasdiqlang: bayroq bilan bitta katta so'rov va usiz bittasi. Bayroqqa ergashadigan xatti-harakat o'zgarishi dalildir; oxir-oqibat yuklanadigan sahifa dalil emas.
Agar bayroq tuzatsa, nima uchunligini aniqlang
Uch shart bir xil alomat keltiradi va turli javob talab qiladi. Yo'l UDPni butunlay filtrlashi mumkin, bu bayroqni shu tarmoq uchun to'g'ri doimiy javob qiladi. Yo'l UDPga ruxsat berib, katta datagrammalarni tashlashi mumkin, bu filtrlash emas, MTUga ishora qiladi. Yoki yo'l shunchalik yo'qotishli bo'lishi mumkinki, UDP oyog'i TCPdan yomonroq ishlaydi, bu sig'im qarori, yetib borish qarori emas.
Vaqtinchalik yechimni hujjatlashtirishdan oldin ularni ajrating. Filtrlash har qanday paket hajmida saqlanadi, MTU muammolari faqat chegaradan yuqorida ko'rinadi, yo'qotish esa toza osilish emas, qayta yuborish va o'zgaruvchan kechikish sifatida namoyon bo'ladi. Har bir sinov mijoz konfiguratsiyasini o'zgartirmasdan sababni toraytiradi.
Vaqtinchalik yechimni saqlashdan oldin paket hajmini tekshiring
Agar sabab hajm bo'lsa, tunnel interfeysi yo'l ko'tara olmaydigan paketlarni qabul qiladi va foydali yuk o'sishi bilan muammo har qanday transportda qaytadi. Interfeyslarni solishtiring: xostda ip link show tun0, so'ngra tarmoq parametrlarida yozilgan MTUni o'qish uchun docker network inspect bridge. Kam tashiydigan tunnel ostida hali 1500 baytda turgan konteyner ko'prigi odatiy topilma.
Tunnel ichida bo'laklashni taqiqlash sinovi bilan ma'lum yaxshi hajmdan yuqoriga tekshiring, so'ngra konteyner tarmog'ining MTUsini pasaytiring yoki tunnelda TCP MSSni siqing. Ikkala tuzatishdan biri ko'pincha UDP yo'lni yana yaroqli qiladi va bayroqqa ehtiyojni olib tashlaydi, filtrlash sabab bo'lmasa bu yaxshiroq natija.
Nimani almashtirishga tayyor ekaningizni hal qiling
Ma'lumot kanali o'chirilganda tunnel yukini TCP ulanishi ichida tashiydi. Toza yo'lda bu shunchaki sekinroq; yo'qotishli yo'lda bitta yo'qolgan segment orqasidagi hamma narsani kechiktiradi va tashqi qayta yuborish ichkisi bilan raqobatlashadi. Bu almashinuv interaktiv ishlab chiqish va kichik API chaqiruvlariga mos, katta uzatishlar yoki mobil havolalarda uzoq sessiyalarga yomon mos.
Qaysi variantni tanlasangiz ham, tunnel oxirida qaysi transportdan foydalanganini va nima uchunligini yozib qo'ying. Kimdir oylar oldin qo'shgan bayroqqa jimgina bog'liq konteyner keyingi nosozlikdir, va uni tuzatuvchi bayroq filtrlash uchun vaqtinchalik yechim edimi yoki MTU tajribasining qoldig'imi, bilmaydi.