SSH ulanadi, taxminan bir daqiqa ishlaydi, so'ng har safar deyarli bir xil intervalda muzlaydi. Keng tarqalgan izoh — idle timeout, shuning uchun odamlar MTU'ni pasaytiradi va mijoz keepalive'larini sozlaydi. Men ishlagan WireGuard ulanishi bularning barchasidan o'tgan edi: kichikroq tunnel MTU, client-alive sozlamalari, sozlangan tunnel keepalive. Uzilishlar o'zgarmagan holda davom etdi. Sabab assimetrik LAN marshruti bo'lib chiqdi, va bu naqshni tanib olishga arziydi, chunki u taymerga asoslangan har qanday tuzatishni yengadi.

keepalive sizning hostingiz hali ham yuborishga tayyorligini isbotlaydi. U hech qachon undan o'tmaydigan javobni holat saqlaydigan qurilmaga ko'rsata olmaydi.

Afsona: keepalive'lar jim uzilishni tuzatadi

SSH keepalive'lari bitta vazifa uchun mavjud: sukunatni sanaydigan narsa bo'sh seansni olib tashlashiga yo'l qo'ymaslik. Buni ular yaxshi qiladi. Ular bir yo'nalishda birinchi paketni ko'rib, keyin hech qachon javobni ko'rmagan holat saqlaydigan qurilma muammosini hal qilmaydi, chunki mijoz yuboradigan hech narsa javob qaysi interfeysdan foydalanishini o'zgartirmaydi.

MTU'ni o'zgartirish boshqa mashhur tuzatish bo'lib, uning ham xuddi shunday muvaffaqiyatsizlik usuli bor. MTU'ni pasaytirish fragmentatsiya va yo'l MTU muammolariga yordam beradi, marshrutga esa hech narsa qilmaydi. Agar taymerlaringiz va MTU allaqachon oqilona bo'lsa-yu, uzilish hali ham qaytariluvchi intervalda bo'lsa, interval sizga qayerdadir timeout haqida gapiradi, paket o'lchami haqida emas. Intervalni yozib qo'ying va uni yo'ldagi har bir qurilmadagi holat timeout'lari bilan solishtiring.

Belgi — muntazamlik va seansning shu interval ichida foydalanishga yaroqli qolishi. Idle timeout'lar hech narsa bo'lmaganda uradi; bu esa siz yozayotganda uradi.

Qo'shimcha gateway aslida nima qiladi

Noutbuk va VPN gateway'ni bir xil LAN'ga joylashtiring, alohida LAN firewall'ni standart gateway qilib qo'ying. Noutbuk VPN tomon trafikni firewall'ga yuboradi, firewall uni gateway'ga uzatadi, va gateway javoblari LAN orqali to'g'ridan-to'g'ri noutbukka qaytadi. O'sha ikkinchi oyoq hech qachon firewall'dan o'tmaydi, shuning uchun uning holat jadvali yarim ulanishni saqlaydi.

Quyidagi manzillar shu tartibni aks ettiradi:

Laptop:             192.168.50.20
LAN firewall:       192.168.50.1
WireGuard gateway:  192.168.50.10
Remote VPN subnet:  10.77.0.0/24

Qayta yo'naltirishlar va holat bilan ishlash so'ng ishlaydigan handshake'ni darhol emas, keyinroq o'ladigan ulanishga aylantiradi. Kechikish — holat yozuvining eskirishi yoki qattiqroq tekshiruvning muvaffaqiyatsizligi, shuning uchun interval shunchalik mexanik ko'rinadi.

Bularning hech biri mijoz konfiguratsiyasida ko'rinmaydi, shuning uchun uni izlash odatda noto'g'ri fayldan boshlanadi.

Bitta ataylab tanlangan yo'lni tanlang

Yuqoridagi tartib uchun uzoq subnetni to'g'ridan-to'g'ri VPN gateway'ga yo'naltirish yarim ulanishni yo'q qiladi:

sudo ip route add 10.77.0.0/24 via 192.168.50.10
ip route get 10.77.0.42

Bular misol manzillar. Keyingi hop sizning LAN'ingizda yetib boriladigan bo'lishi kerak, prefiks ko'zda tutilgan uzoq tarmoq bo'lishi kerak, va ikkinchi buyruq unga tayanishdan oldin natijani ko'rsatadi. Agar gateway sizning subnet'ingizda bo'lmasa, bu marshrut siz xohlagan tuzatish emas.

Agar firewall o'sha tizimlar orasidagi trafikni nazorat qilish uchun bo'lsa, uning atrofidan yo'naltirish noto'g'ri dizayn. Buning o'rniga ikkala yo'nalish ham chegaradan o'tsin va qaytish yo'li mos kelishi uchun har tomondagi marshrutlarni sozlang. Maqsad bitta ataylab tanlangan yo'l, kamroq holat tekshiruvi emas.

Netgate'ning assimetrik marshrutlash haqida eslatmalar xuddi shu interfeys darajasidagi assimetriya va u keltirib chiqaradigan holat muammolarini tasvirlaydi, shuning uchun holat bilan ishlashni global darajada yumshatishdan oldin ularni o'qing. Bu holatga o'xshash vaqtli uzilishlar o'z-o'zidan dalil emas. Maqolani bitta muvaffaqiyatsizlik usulining tavsifi deb qabul qiling, so'ng global holat siyosatini o'zgartirishdan oldin o'z tarmog'ingiz unga mos kelishini isbotlang.

Ikkala tomondan sinab ko'ring

Noutbukning manzil tomon marshrutini va manzilning noutbukka qaytish marshrutini o'qing; bu ikki alohida qaror va ehtimol ulardan faqat bittasi xato. Gateway'ning o'zidan muvaffaqiyatli ping muammoni butunlay yashirishi mumkin, chunki u yo'li allaqachon to'g'ri bo'lgan mashinadan boshlanadi. Sizga haqiqiy seansning ikki uchi ko'radigan ikkala yo'nalish kerak.

Tuzatishdan so'ng SSH'ni qayta oching va seansni ilgari muvaffaqiyatsiz bo'lgan intervaldan ancha uzoqroq ochiq tuting. So'ng marshrutni tasdiqlangan tarmoq konfiguratsiyasida doimiy qiling, chunki bir martalik buyruq qayta yuklash rejasi emas va muammo keyingi qayta yuklashda yangi sir bilan qaytadi.

Assimetriya qachon normal

Assimetrik marshrutlash ko'plab tarmoqlarda normal va ta'rif bo'yicha buzilmagan. U holat kuzatuvi, tarjima yoki siyosat o'zlari ko'rmaydigan yo'lni ko'rishga bog'liq bo'lganda muammoga aylanadi, va ularning har birining davosi boshqacha. Uning atrofida qayta loyihalashdan oldin o'rta qurilma aslida nima talab qilishini tekshiring.

Barqaror javob ikki yo'lni, ikkalasini ham ko'rishi kerak bo'lgan qurilmani va buni mumkin qiladigan marshrutni nomlaydi. Agar qurilmani nomlay olmasangiz, sababni hali topmagansiz.

O'xshash maqolalar