Kloniranje iz ureda radi, isto kloniranje preko mobilnog hotspota radi, a isto kloniranje s hotelske mreže visi dok se VPN ne uključi. SSH rukovanje završi i sesija utihne pri prvom stvarnom prijenosu. Jedan redak dodan u konfiguraciju klijenta liječi git i ssh zajedno. Kada jedna postavka klijenta popravi nekoliko alata odjednom, greška je u onome što klijent šalje, a ne u vezi kojom šalje.

Čitajte simptom kao razliku u rutiranju

Tunel koji liječi problem rijetko je popravak. On zamjenjuje rutu, operatera i posredničke uređaje, dok laptop i dalje proizvodi točno iste pakete. Ako jedna ruta pogrešno rukuje zaglavljem, a druga ga propušta netaknuto, razlika je u politici posredničkog uređaja, ne u klijentu. Tunel je ovdje svjedok, a ne rješenje.

Točka u kojoj sesija umire dodatno sužava stvar. Ništa što padne pri traženju imena ili pri razmjeni ključeva ne izgleda tako. Sesija koja se autentificira, ispiše banner i zatim se smrzne na prvom velikom upisu već je dokazala da rutiranje, imenovanje i vjerodajnice rade.

Klijent upisuje QoS bajt na svaki SSH socket

Svaka OpenSSH veza od 7.8 nadalje nosi u IP zaglavlju vrijednost koju usmjerivači mogu koristiti za prioritiziranje prometa. Terminalne sesije dobivaju jednu vrijednost, a veliko kopiranje drugu, prema teoriji da čovjek koji tipka zaslužuje bolji tretman od prijenosa datoteke. Većina mreža potpuno ignorira taj nagovještaj, zato on godinama prolazi nezapaženo. Manjina Wi-Fi upravljačkih programa, mobilnih operatera i VPN koncentratora reagira na njega, a neki od njih reagiraju loše.

Kada se ta vrijednost prepiše ili odbaci usred toka, veza ne pada, ona prestaje napredovati. Ponovna slanja rastu, prozor se ruši, a aplikacija ne javlja ništa jer ništa nije vratilo grešku. Ta tišina je razlog zašto ljudi simptom opisuju kao blokadu, a ne kao kvar.

Prvo potvrdite verziju klijenta s ssh -V. Sve na 7.8 ili više nosi to ponašanje prema zadanim postavkama.

Tri naredbe koje ovo odvajaju od MTU-a i DNS-a

Dva slična uzroka treba isključiti prije nego uredite bilo koju konfiguracijsku datoteku. Kvar MTU-a propušta male razmjene i smrzava se na prvom velikom paketu, dok kvar imenovanja nikad ne stvori sesiju.

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

Prva naredba ponavlja neuspjelu radnju s isključenom oznakom, a njezino uspješno izvršavanje najjači je pojedinačni dokaz koji imate. Druga ispisuje konfiguraciju koju će klijent stvarno primijeniti na to odredište, što hvata zastario unos u datoteci koju ste zaboravili. Treća pokazuje TOS bajt u oba smjera dok je prijenos zaglavljen, a zanimljiv je uzorak vrijednost na pokvarenoj ruti bez nje na ispravnoj.

Snimajte na laptopu, a ne na poslužitelju, jer pošiljatelj postavlja vrijednost i svaki smjer je može promijeniti. Usporedite ispravnu i neuspjelu rutu istom snimkom i razlika se pojavljuje bez nagađanja.

Stavite iznimku u jednu datoteku, jedan host odjednom

Iznimka pripada uz host na koji se odnosi, s komentarom koji kaže zašto postoji.

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

Opseg je važniji od same vrijednosti. Unos s džokerom isključuje ponašanje svugdje, odbacuje nagovještaj koji pomaže na dobro podešenim mrežama i ne ostavlja nikoga da kaže kada se pojavio. Unos po hostu je čitljiv, povrativ i trivijalno ga je izbrisati nakon popravka mreže. Koristite korisničku datoteku za osobni zaobilazni postupak, a upravljanu datoteku kada cijela flota treba istu iznimku.

Budite izričiti o tome što iznimka ne pokriva. Ona vrijedi za SSH, pa HTTPS udaljeni repozitorij, zrcalo paketa i preglednik ostaju izvan nje, a kvar u bilo kojem od njih traži vlastiti dokaz. Na lancu kroz bastion svaki skok koristi konfiguraciju klijenta, a skok koji se blokira je onaj koji vrijedi ograničiti.

Zatvorite krug s vlasnikom mreže

Predajte nalaz kao četiri činjenice: verzija klijenta, testirana ruta, VPN klijent u uporabi i koji je smjer nosio oznaku. Te četiri dovoljne su vlasniku mreže da reproducira tretman i odluči je li namjeran.

Ako iznimka ne izliječi blokadu, uklonite je. Zaobilazni postupak koji preživi neuspjeli eksperiment postaje predaja, a sljedeća osoba potroši sat dokazujući da ne radi ništa. Ako pak izliječi blokadu, put je i dalje pogrešan za svaki drugi alat koji ga prelazi, a popravak pripada onome tko upravlja posredničkim uređajem.

Promjena na klijentu je privremeno rješenje s rokom valjanosti. Upišite taj rok u komentar.

Povezani članci