Git hinget sûnder de VPN? OpenSSH merkt pakketten mei IPQoS
OpenSSH merkt syn pakketten standert mei in QoS-wearde. Dêr't in paad dy marking fuortsmyt, hinget de push oant in tunnel de rûte feroaret dy't de pakketten nimme.
In kloan fan it kantoar wurket, deselde kloan oer in hotspot fan 'e telefoan wurket, en deselde kloan fan in hotelnetwurk hinget oant in VPN oanset wurdt. De SSH-hânskodding einiget en de sesje wurdt stil by de earste echte oerdracht. Ien rigel tafoege oan 'e kliïntkonfiguraasje genêst git en ssh tagelyk. As ien kliïntynstelling ferskate ark tagelyk reparearret, sit de flater yn wat de kliïnt stjoert, net yn 'e keppeling dêr't er it oer stjoert.
Lês it symptoom as in rûteferskil
In tunnel dy't in probleem genêst is selden in reparaasje. Hy ferwikselet de rûte, de ferfierder en de tuskenapparaten, wylst de laptop krekt deselde pakketten bliuwt produsearjen. As ien rûte in kop ferkeard behannelet en in oare dy ûnoantaaste trochlit, sit it ferskil yn it belied fan it tuskenapparaat, net yn 'e kliïnt. De tunnel is hjir in tsjûge, net in oplossing.
It punt dêr't de sesje stjert ferlingt it noch. Neat dat by namsesykjen of by kaaiwikseling mislearret liket hjir op. In sesje dy't autentisearret, in banner printsje lit en dan by de earste grutte skriuwing befriest, hat al bewiisd dat rûte, nammen en bewizen allegear wurkje.
De kliïnt stimpelt in QoS-byte op elke SSH-socket
Elke OpenSSH-ferbining fan 7.8 ôf draacht in wearde yn 'e IP-kop dy't routers brûke meie om ferkear foarrang te jaan. Terminalsesjes krije ien wearde en massakopyen in oare, op 'e teory dat in minske dy't typt better behannele wurde moat as in bestânoerdracht. De measte netwurken negearje de oanwizing folslein, dêrom bliuwt er jierren ûnopmurken. In minderheid fan Wi-Fi-stjoerders, mobyloaders en VPN-konsintrators hannelet dêrnei, en guon fan harren dogge dat min.
As dy wearde midden yn 'e stream oerskreaun of fuortsmiten wurdt, mislearret de ferbining net, se hâldt op foarút te gean. Werstjoeringen groeie, it finster stoart yn, en de applikaasje rapportearret neat om't neat in flater joech. Dy stilte is wêrom't minsken it symptoom as in hingjen beskriuwe ynstee fan as in mislearring.
Befêstigje earst de kliïntferzje mei ssh -V. Alles op 7.8 of heger draacht dit gedrach standert.
Trije opdrachten dy't dit fan MTU en DNS skiede
Twa likense oarsaken fertsjinje útsluting foar't jo in konfiguraasjebestân bewurkje. In MTU-flater lit lytse útwikselings troch en befriest by it earste grutte pakket, wylst in namflater nea in sesje produsearret.
ssh -o IPQoS=none -v [email protected]
ssh -G [email protected] | grep -i ipqos
sudo tcpdump -ni any -vv "tcp port 22"
De earste opdracht werhellet de mislearjende operaasje mei de marking útskeakele, en in slagge útfiering is it sterkste ienige bewiis dat der is. De twadde printsjet de konfiguraasje dy't de kliïnt echt op dat doel tapasse sil, wat in ferâldere yngong yn in bestân fynt dat jo fergetten wiene. De tredde lit de TOS-byte yn beide rjochtingen sjen wylst de oerdracht fêstsit, en it nijsgjirrige patroan is in wearde op 'e brutsen rûte en gjinien op 'e wurkjende.
Meitsje de opname op 'e laptop en net op 'e tsjinner, om't de stjoerder de wearde set en beide rjochtingen dy feroarje kinne. Fergelykje in wurkjende en in mislearjende rûte mei deselde opname, en it ferskil ferskynt sûnder rieden.
Set de útsûndering yn ien bestân, ien host tagelyk
In útsûndering heart neist de host dêr't se op slacht, mei in kommentaar dat seit wêrom't se bestiet.
Host gitlab.example.internal
IPQoS none
# direct route rewrites the marking; the tunnel route passes it
It berik is wichtiger as de wearde sels. In joker-yngong skeakelet it gedrach oeral út, smyt in oanwizing fuort dy't helpt op goed gedragen netwurken, en lit nimmen sizze kinne wannear't se ferskynde. In yngong per host is lêsber, weromdraaibaar en trivjaal te wiskjen sadree't it netwurk reparearre is. Brûk it brûkersbestân foar in persoanlike omwei en in behearbestân as in hiele float deselde útsûndering nedich hat.
Wês dúdlik oer wat de útsûndering net dekt. Se jildt foar SSH, dus in HTTPS-remote, in pakketspiegel en in browser steane der allegear bûten, en in flater yn ien fan harren freget syn eigen bewiis. Op in keatling troch in bastion brûkt elke sprong de kliïntkonfiguraasje, en de sprong dy't hinget is dejinge dy't it wurdich is te beheinen.
Slút de sirkel mei de netwurkeigner
Oerhandigje de fynst as fjouwer feiten: kliïntferzje, testen rûte, brûkte VPN-kliïnt en hokker rjochting de marking droech. Dy fjouwer binne genôch foar in netwurkeigner om de behanneling te reprodusearjen en te besluten oft se bewust is.
As de útsûndering it hingjen net genêst, ferwiderje se. In omwei dy't in mislearre eksperimint oerlibbet wurdt folkloare, en de folgjende persoan besteget in oere oan it bewizen dat er neat docht. As se it hingjen wol genêst, is it paad noch steeds ferkeard foar elk oar ark dat it krúst, en de reparaasje heart by wa't it tuskenapparaat betsjinnet.
De kliïntwiziging is in needoplossing mei in ferfaldatum. Skriuw dy datum yn it kommentaar.