Ofisdan olingan klon ishlaydi, xuddi shu klon telefon hotspoti orqali ham ishlaydi, lekin mehmonxona tarmog'idan olingan klon VPN yoqilmaguncha osilib qoladi. SSH qo'l berib ko'rishish tugaydi va sessiya birinchi haqiqiy uzatishda jim bo'lib qoladi. Klient konfiguratsiyasiga qo'shilgan bitta satr git va ssh-ni birga davolaydi. Bitta klient sozlamasi bir vaqtning o'zida bir necha asbobni tuzatsa, xato klient yuborayotgan narsada, u yuborayotgan kanalda emas.

Alomatni yo'l farqi sifatida o'qing

Muammoni davolaydigan tunnel kamdan-kam ta'mirlash bo'ladi. U yo'lni, tashuvchini va oraliq qurilmalarni almashtiradi, noutbuk esa aynan o'sha paketlarni ishlab chiqarishda davom etadi. Agar bir yo'l sarlavhani noto'g'ri boshqarsa, boshqasi uni o'zgartirmasdan o'tkazsa, farq oraliq qurilma siyosatida, klientda emas. Bu yerda tunnel guvoh, yechim emas.

Sessiya o'ladigan nuqta buni yanada toraytiradi. Nom qidirishda yoki kalit almashinuvida muvaffaqiyatsiz bo'ladigan hech narsa bunday ko'rinmaydi. Autentifikatsiyadan o'tib, banner chiqarib, keyin birinchi katta yozuvda qotib qoladigan sessiya yo'l, nomlar va hisob ma'lumotlari ishlayotganini allaqachon isbotlagan.

Klient har bir SSH soketiga QoS baytini bosadi

7.8 dan boshlab har bir OpenSSH ulanishi IP sarlavhasida routerlar trafikni ustuvorlashtirish uchun ishlatishi mumkin bo'lgan qiymatni olib yuradi. Terminal sessiyalari bir qiymat, ommaviy nusxalar boshqa qiymat oladi — klaviatura bosayotgan inson fayl uzatishdan ko'ra yaxshiroq munosabatga loyiq degan nazariyaga ko'ra. Aksariyat tarmoqlar bu ishorani butunlay e'tiborsiz qoldiradi, shuning uchun u yillar davomida sezilmay qoladi. Wi-Fi drayverlari, mobil operatorlar va VPN konsentratorlarining ozchiligi unga amal qiladi, ba'zilari esa yomon amal qiladi.

Bu qiymat oqim o'rtasida qayta yozilsa yoki tashlab yuborilsa, ulanish uzilmaydi, u oldinga siljishni to'xtatadi. Qayta yuborishlar ko'payadi, oyna qulaydi va dastur hech narsa xabar qilmaydi, chunki hech narsa xato qaytarmagan. Aynan shu sukunat odamlar alomatni nosozlik emas, osilib qolish deb ta'riflashiga sabab.

Avval ssh -V yordamida klient versiyasini tasdiqlang. 7.8 yoki undan yuqori har qanday versiya bu xatti-harakatni sukut bo'yicha olib yuradi.

Buni MTU va DNS dan ajratadigan uchta buyruq

Har qanday konfiguratsiya faylini tahrirlashdan oldin ikkita o'xshash sababni istisno qilish kerak. MTU nosozligi kichik almashinuvlarni o'tkazadi va birinchi katta paketda qotib qoladi, nom nosozligi esa hech qachon sessiya yaratmaydi.

ssh -o IPQoS=none -v [email protected]
ssh -G [email protected] | grep -i ipqos
sudo tcpdump -ni any -vv "tcp port 22"

Birinchi buyruq muvaffaqiyatsiz amalni belgi o'chirilgan holda takrorlaydi va uning muvaffaqiyatli ishlashi mavjud bo'lgan eng kuchli yagona dalil. Ikkinchisi klient o'sha manzilga haqiqatan qo'llaydigan konfiguratsiyani chiqaradi, bu esa unutgan faylingizdagi eskirgan yozuvni ushlaydi. Uchinchisi uzatish tiqilib turganda TOS baytini ikkala yo'nalishda ko'rsatadi va qiziqarli naqsh buzilgan yo'lda qiymat borligi, ishlaydigan yo'lda esa yo'qligi.

Tutishni serverda emas, noutbukda qiling, chunki qiymatni jo'natuvchi qo'yadi va ikkala yo'nalish ham uni o'zgartirishi mumkin. Ishlaydigan va muvaffaqiyatsiz yo'lni bir xil tutish bilan solishtiring, farq taxmin qilmasdan ko'rinadi.

Istisnoni bitta faylga qo'ying, bir vaqtning o'zida bitta xost

Istisno amal qiladigan xostning yonida bo'lishi kerak, nima uchun mavjudligini aytadigan izoh bilan.

Host gitlab.example.internal
    IPQoS none
    # direct route rewrites the marking; the tunnel route passes it

Qamrov qiymatning o'zidan muhimroq. Joker yozuv xatti-harakatni hamma joyda o'chiradi, yaxshi xulqli tarmoqlarda yordam beradigan ishorani tashlaydi va qachon paydo bo'lganini hech kimga aytishga qo'ymaydi. Har bir xost uchun yozuv o'qishga qulay, qaytarish mumkin va tarmoq tuzatilgandan keyin o'chirish juda oson. Shaxsiy yechim uchun foydalanuvchi faylini, butun flotga bir xil istisno kerak bo'lganda esa boshqariladigan faylni ishlating.

Istisno nimani qamrab olmasligini aniq ayting. U SSH ga tegishli, shuning uchun HTTPS masofaviy ombor, paket oynasi va brauzer uning tashqarisida qoladi va ulardan biridagi nosozlik o'z dalilini talab qiladi. Bastion orqali o'tadigan zanjirda har bir sakrash klient konfiguratsiyasidan foydalanadi va tiqilib qoladigan sakrash cheklashga arziydiganidir.

Tarmoq egasi bilan aylanani yoping

Topilmani to'rt fakt sifatida topshiring: klient versiyasi, sinovdan o'tgan yo'l, ishlatilayotgan VPN klienti va belgini qaysi yo'nalish olib yurgan. Bu to'rttasi tarmoq egasiga munosabatni takrorlash va u qasddanmi yoki yo'qmi qaror qilish uchun yetarli.

Agar istisno tiqilishni davolamasa, uni olib tashlang. Muvaffaqiyatsiz tajribadan omon qolgan yechim afsonaga aylanadi va keyingi odam uning hech narsa qilmasligini isbotlashga bir soat sarflaydi. Agar u tiqilishni davolasa, yo'l u orqali o'tadigan har bir boshqa asbob uchun hamon noto'g'ri, ta'mirlash esa oraliq qurilmani boshqaradigan kishiga tegishli.

Klientdagi o'zgarish muddati bor vaqtinchalik chora. O'sha muddatni izohga yozing.

O'xshash maqolalar