Ĉu Git haltas sen la VPN? OpenSSH markas pakaĵojn per IPQoS
OpenSSH defaŭlte markas siajn pakaĵojn per QoS-valoro. Kie vojo forĵetas tiun markon, la push haltas ĝis tunelo ŝanĝas la vojon, kiun la pakaĵoj prenas.
Klono el la oficejo funkcias, la sama klono tra poŝtelefona hotspot funkcias, kaj la sama klono el hotelo-reto pendas ĝis VPN estas ŝaltata. La SSH-manpremo finiĝas kaj la sesio silentas ĉe la unua vera transigo. Unu linio aldonita al la klienta agordo sanigas git kaj ssh kune. Kiam unu klienta agordo riparas plurajn ilojn samtempe, la fuŝo estas en tio, kion la kliento sendas, ne en la ligilo, tra kiu ĝi sendas.
Legu la simptomon kiel itineran diferencon
Tunelo, kiu sanigas problemon, malofte estas riparo. Ĝi interŝanĝas la itineron, la portanto kaj la mezajn aparatojn, dum la tekkomputilo plu produktas precize la samajn pakaĵojn. Se unu itinero malĝuste traktas kaplinion kaj alia trapasigas ĝin netuŝite, la diferenco kuŝas en la politiko de la meza aparato, ne en la kliento. Ĉi tie la tunelo estas atestanto, ne solvo.
La punkto, kie la sesio mortas, pliproksimigas tion. Nenio, kio malsukcesas ĉe nomserĉo aŭ ĉe ŝlosilinterŝanĝo, aspektas tiel. Sesio, kiu aŭtentikas, presas standardon kaj poste frostas ĉe la unua granda skribo, jam pruvis, ke itinerado, nomado kaj legitimiloj ĉiuj funkcias.
La kliento stampas QoS-bajton sur ĉiun SSH-ingon
Ĉiu OpenSSH-konekto de 7.8 pluen portas valoron en la IP-kaplinio, kiun enkursigiloj povas uzi por prioritatigi trafikon. Terminalaj sesioj ricevas unu valoron kaj amaskopioj alian, laŭ la teorio, ke homo tajpanta meritas pli bonan trakton ol dosierotransigo. Plej multaj retoj tute ignoras la aludon, kaj tial ĝi restas nerimarkita dum jaroj. Malplimulto de Wi-Fi-unuiloj, poŝtelefonaj operatoroj kaj VPN-koncentriloj agas laŭ ĝi, kaj iuj el ili agas malbone.
Kiam tiu valoro estas reskribita aŭ forĵetita meze de la fluo, la konekto ne malsukcesas, ĝi ĉesas progresi. Reelsendoj kreskas, la fenestro kolapsas, kaj la aplikaĵo raportas nenion, ĉar nenio produktis eraron. Tiu silento estas kial homoj priskribas la simptomon kiel pendiĝon anstataŭ kiel fiaskon.
Unue konfirmu la klientan version per ssh -V. Ĉio je 7.8 aŭ pli alte portas ĉi tiun konduton defaŭlte.
Tri komandoj, kiuj apartigas tion de MTU kaj DNS
Du similaj kaŭzoj meritas ekskludon antaŭ ol vi redaktas ajnan agordan dosieron. MTU-fuŝo lasas malgrandajn interŝanĝojn trapasi kaj frostas ĉe la unua granda pakaĵo, dum noma fuŝo neniam produktas sesion.
ssh -o IPQoS=none -v [email protected]
ssh -G [email protected] | grep -i ipqos
sudo tcpdump -ni any -vv "tcp port 22"
La unua komando ripetas la malsukcesan operacion kun la marko malŝaltita, kaj sukcesa rulo estas la plej forta unuopa pruvo havebla. La dua presas la agordon, kiun la kliento efektive aplikos al tiu celo, kio kaptas eksvalidiĝintan enskribon en dosiero, kiun vi forgesis. La tria montras la TOS-bajton en ambaŭ direktoj dum la transigo estas blokita, kaj la interesa ŝablono estas valoro sur la rompita itinero kaj nenia sur la funkcianta.
Farigu la kaptadon sur la tekkomputilo anstataŭ sur la servilo, ĉar la sendanto starigas la valoron kaj ambaŭ direktoj povas ŝanĝi ĝin. Komparu funkciantan kaj malsukcesan itineron per la sama kaptado, kaj la diferenco aperas sen konjektado.
Metu la escepton en unu dosieron, unu hoston samtempe
Escepto apartenas apud la hosto, al kiu ĝi aplikas, kun komento, kiu diras, kial ĝi ekzistas.
Host gitlab.example.internal
IPQoS none
# direct route rewrites the marking; the tunnel route passes it
La amplekso gravas pli ol la valoro mem. Ĵokera enskribo malŝaltas la konduton ĉie, forĵetas aludon, kiu helpas en bone kondutaj retoj, kaj lasas neniun kapabla diri, kiam ĝi aperis. Enskribo por unu hosto estas legebla, malfarebla kaj tre facile forigebla post kiam la reto estas riparita. Uzu la uzulan dosieron por persona provizora solvo kaj administritan dosieron, kiam tuta floto bezonas la saman escepton.
Estu eksplicita pri tio, kion la escepto ne kovras. Ĝi aplikas al SSH, do HTTPS-fora deponejo, paketa spegulo kaj retumilo ĉiuj staras ekster ĝi, kaj fiasko en iu ajn el ili bezonas sian propran pruvon. Sur ĉeno tra bastiono, ĉiu salto uzas la klientan agordon, kaj la salto, kiu blokiĝas, estas tiu, kiun indas limigi.
Fermu la cirklon kun la retposedanto
Transdonu la trovajon kiel kvar faktojn: klienta versio, testita itinero, uzata VPN-kliento kaj kiu direkto portis la markon. Tiuj kvar sufiĉas por retposedanto por reprodukti la trakton kaj decidi, ĉu ĝi estas intenca.
Se la escepto ne sanigas la blokiĝon, forigu ĝin. Provizora solvo, kiu postvivas malsukcesan eksperimenton, fariĝas folkloro, kaj la sekva persono pasigas horon pruvante, ke ĝi faras nenion. Se ĝi sanigas la blokiĝon, la vojo ankoraŭ malĝustas por ĉiu alia ilo, kiu trapasas ĝin, kaj la riparo apartenas al tiu, kiu funkciigas la mezan aparaton.
La klienta ŝanĝo estas provizora solvo kun limdato. Skribu tiun limdaton en la komenton.