Se Git ustavi brez VPN? OpenSSH označuje pakete z IPQoS
OpenSSH privzeto označi svoje pakete z vrednostjo QoS. Kjer pot to oznako zavrže, se push ustavi, dokler tunel ne spremeni poti, po kateri gredo paketi.
Klon iz pisarne deluje, isti klon prek mobilne točke deluje, isti klon iz hotelskega omrežja pa visi, dokler se ne vklopi VPN. Rokovanje SSH se konča in seja utihne pri prvem resničnem prenosu. Ena vrstica, dodana v konfiguracijo odjemalca, ozdravi git in ssh skupaj. Ko ena nastavitev odjemalca popravi več orodij hkrati, je napaka v tem, kar odjemalec pošilja, ne v povezavi, po kateri to pošilja.
Simptom berite kot razliko v usmerjanju
Tunel, ki ozdravi težavo, je redko popravilo. Zamenja pot, operaterja in vmesne naprave, medtem ko prenosnik še naprej ustvarja povsem enake pakete. Če ena pot z glavo ravna napačno, druga pa jo spusti nedotaknjeno, je razlika v politiki vmesne naprave, ne v odjemalcu. Tunel je tu priča, ne rešitev.
Točka, kjer seja umre, to še zoži. Nič, kar spodleti pri iskanju imena ali pri izmenjavi ključev, ni videti tako. Seja, ki se overi, natisne pasico in nato zmrzne pri prvem velikem pisanju, je že dokazala, da usmerjanje, imena in poverilnice vsi delujejo.
Odjemalec ožigosa bajt QoS na vsak vtič SSH
Vsaka povezava OpenSSH od 7.8 naprej nosi v glavi IP vrednost, ki jo usmerjevalniki lahko uporabijo za prednostno obravnavo prometa. Terminalske seje dobijo eno vrednost, množične kopije drugo, po teoriji, da si človek, ki tipka, zasluži boljšo obravnavo kot prenos datoteke. Večina omrežij namig popolnoma prezre, zato leta ostaja neopažen. Manjšina gonilnikov Wi-Fi, mobilnih operaterjev in koncentratorjev VPN se ravnajo po njem, nekateri od njih pa slabo.
Ko se ta vrednost sredi toka prepiše ali zavrže, povezava ne odpove, le preneha napredovati. Ponovna pošiljanja naraščajo, okno se sesuje in aplikacija ne poroča ničesar, ker nič ni vrnilo napake. Prav ta tišina je razlog, da ljudje simptom opisujejo kot zataknitev in ne kot okvaro.
Najprej potrdite različico odjemalca z ssh -V. Karkoli od 7.8 naprej to vedenje prinaša privzeto.
Trije ukazi, ki to ločijo od MTU in DNS
Pred urejanjem katere koli konfiguracijske datoteke je treba izključiti dva podobna vzroka. Napaka MTU spusti majhne izmenjave in zmrzne pri prvem velikem paketu, medtem ko napaka imen nikoli ne ustvari seje.
ssh -o IPQoS=none -v [email protected]
ssh -G [email protected] | grep -i ipqos
sudo tcpdump -ni any -vv "tcp port 22"
Prvi ukaz ponovi neuspešno operacijo z izklopljeno oznako, njegova uspešna izvedba pa je najmočnejši posamični dokaz, ki je na voljo. Drugi natisne konfiguracijo, ki jo bo odjemalec dejansko uporabil za ta cilj, kar ujame zastarel vnos v datoteki, ki ste jo pozabili. Tretji pokaže bajt TOS v obe smeri, medtem ko prenos stoji, zanimiv vzorec pa je vrednost na pokvarjeni poti in nobena na delujoči.
Zajem opravite na prenosniku in ne na strežniku, ker vrednost nastavi pošiljatelj in jo lahko spremeni vsaka smer. Primerjajte delujočo in neuspešno pot z istim zajemom in razlika se pokaže brez ugibanja.
Izjemo postavite v eno datoteko, enega gostitelja naenkrat
Izjema sodi ob gostitelja, na katerega se nanaša, s komentarjem, ki pove, zakaj obstaja.
Host gitlab.example.internal
IPQoS none
# direct route rewrites the marking; the tunnel route passes it
Obseg je pomembnejši od same vrednosti. Vnos z nadomestnim znakom izklopi vedenje povsod, zavrže namig, ki pomaga v dobro delujočih omrežjih, in ne pusti nikomur povedati, kdaj se je pojavil. Vnos za posameznega gostitelja je berljiv, povračljiv in po popravilu omrežja trivialno enostavno izbrisati. Uporabite uporabniško datoteko za osebno izogibanje in upravljano datoteko, ko cela flota potrebuje isto izjemo.
Bodite izrecni glede tega, česa izjema ne pokriva. Velja za SSH, zato HTTPS oddaljeno shrambo, zrcalo paketov in brskalnik vsi ostanejo zunaj nje, in okvara v katerem koli od njih potrebuje svoj dokaz. Na verigi skozi bastion vsak skok uporablja konfiguracijo odjemalca, in skok, ki se ustavi, je tisti, ki se ga splača omejiti.
Zaprite krog z lastnikom omrežja
Predajte ugotovitev kot štiri dejstva: različica odjemalca, preizkušena pot, uporabljeni odjemalec VPN in katera smer je nosila oznako. Ti štirje so dovolj lastniku omrežja, da obravnavo ponovi in se odloči, ali je namerna.
Če izjema ne odpravi zataknitve, jo odstranite. Izogibanje, ki preživi neuspešen poskus, postane folklora, in naslednja oseba porabi uro za dokazovanje, da ne naredi ničesar. Če jo odpravi, je pot še vedno napačna za vsako drugo orodje, ki jo prečka, popravilo pa pripada tistemu, ki upravlja vmesno napravo.
Sprememba pri odjemalcu je začasna rešitev z datumom izteka. Ta datum zapišite v komentar.