Клон из канцеларије ради, исти клон преко мобилног хотспота ради, а исти клон са хотелске мреже виси док се не укључи VPN. SSH руковање се завршава и сесија заћути на првом стварном преносу. Један ред додат у конфигурацију клијента лечи git и ssh заједно. Када једна поставка клијента поправи неколико алата одједном, грешка је у ономе што клијент шаље, а не у вези преко које то шаље.

Читајте симптом као разлику у рутирању

Тунел који лечи проблем ретко је поправка. Он мења путању, оператера и посредничке уређаје, док лаптоп наставља да производи исте пакете. Ако једна стаза лоше поступа са заглављем, а друга га пропушта неизмењено, разлика је у политици посредничког уређаја, не у клијенту. Овде је тунел сведок, а не решење.

Тачка у којој сесија умире то додатно сужава. Ништа што не успе при тражењу имена или при размени кључева не изгледа тако. Сесија која се аутентификује, одштампа банер и затим се замрзне на првом великом упису већ је доказала да рутирање, имена и акредитиви сви раде.

Клијент удара QoS бајт на сваки SSH сокет

Свака OpenSSH веза од 7.8 надаље носи у 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 клијент у употреби и који је смер носио ознаку. Ова четири довољна су власнику мреже да понови третман и одлучи да ли је намеран.

Ако изузетак не излечи застој, уклоните га. Обилажење које преживи неуспели експеримент постаје фолклор, и следећа особа потроши сат доказујући да оно ништа не чини. Ако га излечи, стаза је и даље погрешна за сваки други алат који је прелази, а поправка припада ономе ко управља посредничким уређајем.

Промена на клијенту је привремено решење са роком трајања. Упишите тај рок у коментар.

Повезани чланци