TCP handshake'idan keyin osilib qolgan so'rov marshrutlash muammosi emas. Marshrut xatolari handshake'ni yiqitadi, shuning uchun o'rnatilib keyin jim bo'lib qolgan sessiya yo'lning ichiga ishora qiladi: tekshirish, MTU yoki tunnelning UDP paketlari kelish usuli. Sizning oldingizdagi qaror shu yo'lni tuzatish yoki tunnelni TCP'ga ko'chirish. Uch shart buni hal qiladi va ularning hech biri ma'lumotlar bazasi haqida emas.

Tunnelni ayblashdan oldin osilib qolishni tasniflang

To'rt natija foydalanuvchiga bir xil ko'rinadi va muhandis uchun butunlay boshqa ma'no bildiradi.

What the client seesWhat it rules out
Connection refusedNothing is listening on the address and port the client reached
Timeout before the handshakeA filter, a missing route, or the wrong address
Handshake completes, query hangsThe session exists, so look at inspection, MTU and packet order
Stalls that recover on retryOften reordering, or a state table entry expiring

Faqat oxirgi ikki satr tunnelga vaqt sarflashni oqlaydi. VPN orqali rad etilgan ulanish odatda ma'lumotlar bazasining faqat loopback'da tinglashi, bu tinglovchi muammosi, handshake'dan oldingi taym-aut esa filtr yoki marshrut. Ikkalasi ham inkapsulyatsiyani o'zgartirishdan yaxshilanmaydi.

Tasnifni avval tikketga yozing. Bu eng arzon qadam va qidiruv maydonining katta qismini olib tashlaydi.

UDP va TCP o'rtasida hal qiluvchi uch shart

Inkapsulyatsiya qilingan IPsec trafigi UDP bo'ylab yuradi va UDP yo'lga hech kimga aytmasdan qayta tartiblash va tashlab yuborish erkinligini beradi. Qayta tartiblash paketlarni tunnelning takrorga qarshi oynasidan tashqariga surib chiqarganda ular jimgina tashlab yuboriladi va ichki TCP sessiyasi shunchaki kutadi. Muvaffaqiyatli handshake va hech qachon qaytmaydigan so'rov ortidagi mexanizm shu.

Yo'lni tuzatish yoki TCP'ga qaytish uch narsaga bog'liq. Birinchi, yo'lda haqiqiy paket yo'qolishi bormi yoki faqat qayta tartiblashmi? Ikkinchi, tekshirish joyini o'zgartira olasizmi yoki bu tunnelni qayta tartiblovchi komponentdan chiqara olasizmi? Uchinchi, ish yuki osilib qolish naqshiga sezgirmi, masalan bitta bog'lanishni bo'lishadigan ko'p multipleks sessiyalar?

Agar birinchi javob yo'qotish, ikkinchisi esa yo'q bo'lsa,443'dagi TCP amaliy muqobil. Agar ikkinchi javob ha bo'lsa, yo'lni tuzating va UDP'da qoling.

Ilova xatosini emas, xavfsizlik devori yozuvini o'qing

Ilova taym-aut haqida xabar beradi, bu sabab haqida hech narsa demaydi. Xavfsizlik devorining o'z jurnali tashlab yuborish yoki bloklash ko'rinadigan joy, shuning uchun ma'lumotlar bazasi va ilova manzillari bo'yicha filtrlang va qabul qilishlar bilan birga tashlab yuborishlarni ham qidiring.Tahdidning oldini olish modullari ilova darajasida xato yaratmasdan paketlarni tashlab yuborishi mumkin, va bu osilib qolgan so'rovning aynan shakli. Jurnaldagi sukunat ham ma'lumot: u jurnal yuritmaydigan narsaga, masalan qayta tartiblashga ishora qiladi.

Klastermi ham tekshiring. Noto'g'ri sozlangan klaster sessiyani bir a'zoning holat jadvalida ushlab turishi mumkin, paketlar esa boshqa a'zo yo'lidan ketadi, shuning uchun javoblar holat yo'q joyga keladi. Bunday osilib qolishlar tasodifiy ko'rinadi va yuklama bilan bog'liq emas.

Biror narsani o'zgartirishdan oldin ikkala uchni solishtiring va paket sonini emas, kelish tartibini solishtiring:

tcpdump -ni any udp port 4500 -w /tmp/encap.pcap
tcpdump -ni any tcp port 5432 -w /tmp/inner.pcap

443'dagi TCP sizga haqiqatda qancha turadi

Tunnelni TCP'ga ko'chirish qayta tartiblash alomatini yo'qotadi, chunki oraliq quti endi tartiblangan oqimni ko'radi. Lekin TCP ustida TCP ham yaratadi. Tashqi ulanish ichki ulanish allaqachon qayta yuborganini qayta yuboradi va bitta yo'qotish barcha multipleks sessiyalarni bir vaqtda to'xtatishi mumkin. Toza yo'lda bu ko'rinmaydi. Yo'qotishli yo'lda davo alomatdan yomonroq.

Muqobil umuman aloqa yo'qligi bo'lsa, bu almashinuv maqbul va uni odatiy deb qabul qilish o'rniga egasi bilan istisno sifatida hujjatlashtirish kerak.

Transportni, portni, namunaviy so'rovni va o'lchangan natijani, shuningdek sanani yozib qo'ying. Bu yozuvsiz keyingi muhandis tajribani takrorlaydi va istisno jimgina arxitekturaga aylanadi.

Qarorni qayta ko'rib chiqish mumkin bo'lgan holda saqlang

Yo'l diagnostikasi tez eskiradi. Oraliq quti almashtiriladi, modul konfiguratsiyasi o'zgaradi, bog'lanish yangilanadi va 443'dagi TCP sababi yo'qoladi, konfiguratsiya esa qoladi. Istisnoga qayta ko'rib chiqish sanasini qo'ying va UDP'ga qaytishga imkon beradigan shartni nomlang.

Ikkala transportni kichik so'rov va katta natijalar to'plami bilan sinab ko'ring. Qayta tartiblash o'lchamga bog'liq osilib qolishlar sifatida ko'rinadi, tinglovchi nosozligi esa ikkala o'lchamni ham birdek to'xtatadi.

O'xshash maqolalar