SSH stringa per OpenVPN? Pirmiausia išmatuokite kelio MTU
Aidas veikia, tada sąrašas amžiams sustabdo sesiją. Išmatuokite lubas iš abiejų pusių prieš keisdami mssfix, fragment ar sąsajos MTU.
SSH prisijungia, užuomina pasirodo, ir sesija miršta vos komandai grąžinus ką nors stambaus. Aidas dar kurį laiką veikia, paskui ryšys baigiasi, o klientas vis dar rodo tunelį kaip pakeltą. Sesija, kuri sveika iki duomenų atėjimo, paprastai atsiremia į dydžio ribą, o ne į SSH defektą. Toliau pateikti patikrinimai išdėstyti taip, kad pigiausias paaiškinimas būtų atmestas pirmas.
Prieš liesdami profilį perskaitykite gedimo formą
Maži paketai praeina, pilni ne. Užuomina, reklaminė juosta ar vienas klavišo paspaudimas telpa lengvai; katalogo sąrašas, atsisiuntimas ar įklijuotas blokas netelpa. Dydis, kuriame elgsena pasikeičia, yra užuomina, o ne tai, kad SSH yra susijusi programa.
Mechanizmas yra kelio MTU aptikimas, kuris priklauso nuo grįžtamojo ryšio. TCP pasirenka segmento dydį, o kai maršrutizatorius kelyje negali persiųsti gauto paketo, jis turėtų tai pranešti ICMP žinute. Inkapsuliavimas išorinį paketą padaro didesnį už vidinį, todėl naudingas dydis tunelio viduje visada mažesnis už fizinę jungtį. Atsijokite tas ICMP žinutes bet kur ir siuntėjas niekada negaus pataisos, toliau siqs pilnus segmentus, o išorinis paketas bus išmestas be įspėjimo.
Išmatuokite lubas iš abiejų pusių
Palyginkite tunelio MTU su fizine jungtimi prieš keisdami bet kurią iš jų. Tunelis, nusikopijavęs fizinę reikšmę, jau pasakė, kur yra neatitikimas.
Tikrinkite tunelio viduje užklausa, draudžiančia fragmentavimą, mažindami naudingąją apkrovą, kol grįš atsakymai. Dydžio argumentas skaičiuoja tik apkrovą, todėl veikiantis skaičius visada mažesnis už sąsajos MTU. Pridėkite antraščių dydžius atgal, jei reikia sąsajos skaičiaus.
ip link show tun0
ping -M do -s 1380 10.9.0.1Pakartokite patikrinimą prieš serverio viešąjį adresą iš tunelio išorės. Jei dideli patikrinimai ten irgi nepavyksta, riba yra kelyje iki serverio ir jokia tunelio parinktis jos nepajudins. Šis palyginimas apsaugo jus nuo kliento, kuris niekada nebuvo problema, derinimo. Užrašykite abu rezultatus prieš atidarydami konfigūracijos failą.
mssfix ir fragment atlieka skirtingą darbą
mssfix apriboja segmento dydį, kurį tunelio viduje esantys TCP ryšiai paskelbia savo rankos paspaudimo metu. Tai tinkama svirtis SSH, HTTPS ir failų kopijavimui, todėl strigimas dažnai dingsta vos jį nustačius. Jis visai neliečia UDP apkrovų.
Tunelis, kuris taip pat neša UDP paslaugą, gali ir toliau neveikti po to, kai SSH sutvarkytas, ir šis rezultatas klaidina kiekvieną, kuris mano, kad viena parinktis apima viską.
fragment yra kitas mechanizmas ir kitas įrankis. Jis skaido per didelius paketus prieš inkapsuliavimą, galioja tik UDP transportui, prideda sąnaudų kiekvienam datagramui ir dokumentuotas kaip paskutinė priemonė sugedusiam aptikimui. Abu nustatymai turi sutapti partneriuose, kurie baigia tunelį. Kai vienas galas riboja, o kitas skaido, atsiranda žurnalo įspėjimai ir elgsena, kurios niekas negali numatyti iš failų.
Sąsajos MTU mažinimas yra grubus variantas
Sąsajos MTU mažinimas abiejuose galuose yra grubus įrankis. Jis kiekvienam vidiniam siuntėjui pasako mažesnį skaičių, kas veikia, ir tą kainą užkrauna visam srautui, o ne tiems TCP srautams, kuriems jos reikia.
Rinkitės jį, kai tunelis neša srautą, kurio negalite apriboti, arba kai klientas yra įrenginys, kurio profilio nekontroliuojate. Taikykite simetriškai ir užrašykite reikšmę šalia profilio. Pusiau pritaikytas pakeitimas blogesnis už jokį, nes atrodo kaip pataisa.
Išbandykite iš naujo su perdavimu, kuris įstrigo
Prisijunkite iš naujo, kad nustatymai įsikeltų, atidarykite naują ryšį ir pakartokite komandą, kuri sustingo. Segmento dydis derinamas rankos paspaudimo metu, todėl sesija, kuri išgyveno persijungimą, vis dar neša seną reikšmę. Ping čia yra prastas bandymas, nes visas gedimas yra tai, kad maži paketai praeina. Naudokite tą sąrašą, atsisiuntimą ar įklijavimą, kuris sugedo.
Jei strigimas išlieka esant mažesniam dydžiui, ieškokite kitur: būsenos ugniasienė, kuri baigia srautą, dvigubas adresas arba maršrutas, kuris persijungiant pasislenka. Užrašykite nepavykusio patikrinimo dydį ir pakeistą nustatymą, nes būtent ši pora daro kitą ataskaitą naudingą.