Hvers vegna leiðir með sama kostnað gera VPN-galla erfiða að sjá
Þegar nokkrir göng deila sama kostnaði getur hvert flæði valið annað. Árangursríkt ping segir ekkert um þá leið sem forritið þitt notar í raun.
Notandi segir innra forritið virka af einni vél og mistakast af annarri, á meðan ping sem þú keyrir frá gáttinni heppnast í báðum tilvikum. Með nokkrum göngum með sama kostnað er þetta ekki mótsögn. Hvert flæði er sett á sitt næsta stökk, svo prófið þitt og lota notandans gætu einfaldlega notað ólíkar leiðir. Ferillinn hér að neðan endurgerir þetta val áður en nokkuð er breytt.
Eitt ping, nokkrar mögulegar leiðir
Þegar leið hefur fleira en eitt næsta stökk á sama kostnaði verður beininn að velja eitt fyrir hverja pakkann. Flest útfærslur hasha reitum úr pakkanum, venjulega uppruni og ákvörðunarstaður ásamt samskiptareglunni og portunum, svo svör haldist á sömu leið. Ólík forrit, jafnvel ólíkar tengingar frá einu forriti, framleiða ólík hösh.
Þess vegna sannar greining frá gáttinni svo litlu. Próf gáttarinnar sjálfrar hefur sín eigin netföng og port, og þar með sitt eigið hash. Það getur lent á heilbrigðu göngunni á meðan notandinn lendir ávallt á þeirri skemmtu.
Hvernig kerfið velur næsta stökk
Endurgerðu valið í stað þess að giska á það. Spurðu kjarnann hvaða leið hann myndi nota fyrir sama uppruna og ákvörðunarstað og lotan sem mistekst. Sú leit inniheldur reiti sem venjuleg leit að ákvörðunarstað hunsar. Keyrðu hana líka frá virkum biðlara og berðu saman svörin tvö:
ip route get 10.20.5.7 from 10.20.0.14
Nýrri útgáfur af iproute2 taka einnig við samskiptareglunni og ákvörðunarportinu, sem skiptir máli þegar hashið inniheldur þau. Berðu þann úttak saman við sömu leit frá virkum biðlara, og munurinn er sönnunin sem þig vantaði.
| Observation | Likely cause | First check |
|---|---|---|
| Ping works, application fails | A different flow hash selects another tunnel | Per-flow lookup from the client's address |
| Some users fail, others do not | One tunnel lacks a prefix or selector | Compare both tunnels' installed routes |
| Fails only at larger sizes | Tunnels have different effective MTU | Probe the same size over each path |
| Fails after a reconnect | Stateful asymmetry between paths | Session state on both gateways |
Fylgdu flæðinu sem mistekst, ekki leiðatöflunni
Leiðataflan listar bæði göngin og virðist rétt samkvæmt skilgreiningu. Spurningin er hvað hvert gang gerir við pakkann eftir að hann er valinn. Staðfestu að bæði beri sömu varðveittu forskeytin, sama framsendingarheimild og afturleið sem nær til sama biðlara.
Veittu athygli stöðutækjum í miðjunni. Ef beiðni fer út um eitt gang og svarið kemur til baka um hitt, mun eldveggur eða NAT sem sá upprunalega flæðið aldrei henda henni. Bæði göngin senda umferð rétt áfram, og tengingin mistekst samt.
Athugaðu einnig MTU á hverri leið. Leið með aukinni innpakningu minnkar nothæfa stærð, og flutningur sem heppnast um eitt gang stöðvast á hinu nákvæmlega við þá stærð þar sem minna gangið brotnar.
Berðu saman eina leið í einu
Þar sem hönnunin leyfir viðhald skaltu taka eitt gang úr notkun og endurtaka verkefni notandans. Ef gallinn hverfur tilheyrir vandamálið leiðinni sem þú fjarlægðir, og næsta skref er að bera saman uppsetningu hennar við nágrannann í stað þess að skoða leiðatöfluna aftur.
Berðu saman raunverulega forritið, ekki endurtekin ping. Skráðu hvort gallinn fylgir tilteknu næsta stökki, pakkastærð eða umskiptum eftir endurtengingu, því þessi þrjú mynstur benda á ólíkar viðgerðir.
Að lokum skaltu skrifa niður hvers vegna leiðirnar eru taldar jafngildar og hvernig galli eigi að taka eina þeirra úr notkun. Fjölleið er aðeins örugg þegar leiðirnar eru í raun skiptanlegar, og það er hönnunarfullyrðing sem er þess virði að staðfesta frekar en að gera ráð fyrir.