Кеңседен жасалған клон жұмыс істейді, сол клон телефон хотспоты арқылы да жұмыс істейді, ал сол клон қонақүй желісінен VPN қосылғанша ілініп қалады. SSH қол алысуы аяқталады да, сессия бірінші нақты жіберілімде үнсіз қалады. Клиент конфигурациясына қосылған бір жол git пен ssh-ты бірге емдейді. Бір клиент параметрі бірнеше құралды бірден түзетсе, ақау клиент жіберетін нәрседе, ал ол жіберетін арнада емес.

Симптомды бағыт айырмашылығы ретінде оқыңыз

Мәселені емдейтін туннель сирек жөндеу болады. Ол бағытты, тасымалдаушыны және аралық құрылғыларды ауыстырады, ал ноутбук дәл сол пакеттерді шығара береді. Бір бағыт тақырыпшаны дұрыс өңдемесе, екіншісі оны өзгеріссіз өткізсе, айырмашылық аралық құрылғы саясатында, клиентте емес. Мұнда туннель куәгер, шешім емес.

Сессия өлетін нүкте мәселені одан сайын тарылтады. Атауды іздеуде немесе кілт алмасуда сәтсіздікке ұшырайтын ешнәрсе бұлай көрінбейді. Аутентификациядан өтіп, баннер шығарып, сосын бірінші үлкен жазуда қатып қалған сессия бағыттау, атау және тіркелгі деректерінің бәрі жұмыс істеп тұрғанын әлдеқашан дәлелдеген.

Клиент әр SSH сокетіне QoS байтын басады

7.8-ден бастап әрбір OpenSSH қосылымы IP тақырыпшасында маршрутизаторлар трафикті басымдау үшін пайдалана алатын мәнді алып жүреді. Терминал сессиялары бір мән алады, ал жаппай көшірмелер басқа мәнді алады — пернетақта басатын адам файл жіберуден гөрі жақсы қатынасқа лайық деген теория бойынша. Желілердің көбі бұл нұсқауды мүлде елемейді, сондықтан ол жылдар бойы байқалмайды. Wi-Fi драйверлерінің, ұялы операторлардың және VPN концентраторларының аз бөлігі оған әрекет етеді, кейбіреуі нашар әрекет етеді.

Бұл мән ағын ортасында қайта жазылса немесе тасталса, қосылым үзілмейді, ол ілгерілеуді тоқтатады. Қайта жіберулер өседі, терезе құлайды, ал қолданба ештеңе хабарламайды, өйткені ешнәрсе қате қайтармады. Дәл осы үнсіздік адамдарға симптомды істен шығу емес, іліну деп сипаттауға себеп болады.

Алдымен ssh -V көмегімен клиент нұсқасын растаңыз. 7.8 немесе одан жоғары кез келген нұсқа бұл мінез-құлықты әдепкіде алып жүреді.

Мұны MTU мен DNS-тен ажырататын үш команда

Кез келген конфигурация файлын өңдеуден бұрын екі ұқсас себепті жоққа шығару керек. MTU ақауы шағын алмасуларды өткізіп, бірінші үлкен пакетте қатып қалады, ал атау ақауы сессияны мүлде жасамайды.

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

Бірінші команда сәтсіз операцияны белгі өшірілген күйде қайталайды, ал оның сәтті орындалуы қолда бар ең күшті жалғыз дәлел. Екіншісі клиенттің сол тағайындалуға шынымен қолданатын конфигурациясын шығарады, бұл ұмытылған файлдағы ескірген жазбаны ұстайды. Үшіншісі жіберілім ілініп тұрғанда TOS байтын екі бағытта да көрсетеді, ал қызықты үлгі — бұзылған бағытта мәннің болуы және жұмыс істеп тұрған бағытта оның болмауы.

Түсірілімді серверде емес, ноутбукта жасаңыз, өйткені мәнді жіберуші қояды және екі бағыт та оны өзгерте алады. Жұмыс істейтін және сәтсіз бағытты сол түсіріліммен салыстырыңыз, айырмашылық болжамсыз көрінеді.

Ерекшелікті бір файлға қойыңыз, әр жолы бір хост

Ерекшелік қолданылатын хосттың жанында болуы керек, оның не үшін бар екенін айтатын түсініктемемен.

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

Ауқым мәннің өзінен маңыздырақ. Қамту белгісі бар жазба мінез-құлықты барлық жерде өшіреді, жақсы мінезді желілерде көмектесетін нұсқауды тастайды және оның қашан пайда болғанын ешкімге айтқызбайды. Әр хостқа жазба оқуға ыңғайлы, қайтаруға болады және желі жөнделген соң оны жою оңай. Жеке шешім үшін пайдаланушы файлын, ал бүкіл флотқа сол ерекшелік қажет болса, басқарылатын файлды қолданыңыз.

Ерекшелік нені қамтымайтынын анық айтыңыз. Ол SSH-қа қатысты, сондықтан HTTPS қашықтағы қойма, пакет айнасы және браузер оның сыртында қалады, және солардың кез келгеніндегі ақау өз дәлелін қажет етеді. Бастион арқылы өтетін тізбекте әр секіріс клиент конфигурациясын пайдаланады, ал ілінетін секіріс — шектеуге тұрарлық.

Желі иесімен шеңберді жабыңыз

Табылымды төрт факт ретінде тапсырыңыз: клиент нұсқасы, тексерілген бағыт, пайдаланылатын VPN клиенті және белгіні қай бағыт алып жүрді. Осы төртеуі желі иесіне қатынасты қайта жаңғыртып, оның әдейі екенін шешуге жетеді.

Егер ерекшелік ілінуді емдемесе, оны алып тастаңыз. Сәтсіз тәжірибеден аман қалған шешім аңызға айналады, ал келесі адам оның ештеңе істемейтінін дәлелдеуге бір сағат жұмсайды. Егер ол ілінуді емдесе, жол одан өтетін кез келген басқа құрал үшін әлі де дұрыс емес, ал жөндеу аралық құрылғыны басқаратын адамға тиесілі.

Клиенттегі өзгеріс — мерзімі бар уақытша шара. Сол мерзімді түсініктемеге жазыңыз.

Қатысты мақалалар