Kasutaja teatab, et sisemine rakendus töötab ühest masinast ja nurjub teisest, samal ajal kui lüüsist käivitatud ping õnnestub mõlemal juhul. Mitme võrdse kuluga tunneli puhul ei ole see vastuolu. Iga voog paigutatakse oma järgmisele hüppele, nii et sinu kontroll ja kasutaja sessioon võivad lihtsalt kasutada erinevaid teid. Alljärgnev ülevaade taasesitab selle valiku enne, kui midagi muudetakse.

Üks ping, mitu võimalikku teed

Kui marsruudil on sama kuluga rohkem kui üks järgmine hüpe, peab ruuter valima ühe paketi kohta. Enamik teostusi räsiib paketi välju, tavaliselt lähte- ja sihtkoha aadressid koos protokolli ja portidega, et vastused jääksid samale teele. Erinevad rakendused, isegi ühe rakenduse erinevad ühendused, annavad erinevad räsid.

Seepärast tõestab lüüsist tehtud diagnostika nii vähe. Lüüsi enda kontrollil on oma aadressid ja pordid ning seega oma räsi. See võib maanduda tervele tunnelile, samal ajal kui kasutaja maandub ikka katkisele.

Kuidas platvorm valib järgmise hüppe

Taasesita valik selle asemel, et seda oletada. Küsi tuumalt, millist marsruuti see kasutaks sama lähte ja sihtkoha jaoks nagu nurjuv sessioon. See otsing hõlmab välju, mida tavaline sihtkoha otsing eirab. Käivita see ka töötavast kliendist ja võrdle kahte vastust:

ip route get 10.20.5.7 from 10.20.0.14

Uuemad iproute2 versioonid aktsepteerivad ka protokolli ja sihtporti, mis loeb siis, kui räsi need sisaldab. Võrdle seda väljundit sama otsinguga töötavast kliendist, ja erinevus on tõend, millest sul puudu jäi.

ObservationLikely causeFirst check
Ping works, application failsA different flow hash selects another tunnelPer-flow lookup from the client's address
Some users fail, others do notOne tunnel lacks a prefix or selectorCompare both tunnels' installed routes
Fails only at larger sizesTunnels have different effective MTUProbe the same size over each path
Fails after a reconnectStateful asymmetry between pathsSession state on both gateways

Jälgi nurjuvat voogu, mitte marsruutitabelit

Marsruutitabel loetleb mõlemad tunnelid ja näeb definitsiooni järgi õige välja. Küsimus on, mida iga tunnel valitud paketiga teeb. Kontrolli, et mõlemad kannavad samu kaitstud prefikseid, sama edastusluba ja tagasiteed, mis jõuab sama kliendini.

Pööra tähelepanu olekuga seadmetele keskel. Kui päring väljub ühe tunneli kaudu ja vastus naaseb teise kaudu, siis tulemüür või NAT, kes algset voogu kunagi ei näinud, viskab selle kõrvale. Mõlemad tunnelid edastavad liiklust õigesti ja ühendus siiski nurjub.

Kontrolli ka MTU-d iga tee kohta. Lisakapseldusega tee vähendab kasutatavat suurust ja ülekanne, mis õnnestub ühe tunneli kaudu, takerdub teisel täpselt sellel suurusel, kus väiksem katki läheb.

Võrdle ühte teed korraga

Kus disain lubab hooldust, võta üks tunnel töölt välja ja korda kasutaja ülesannet. Kui tõrge kaob, kuulub probleem eemaldatud teele, ja järgmine samm on võrrelda selle seadistust naabri omaga, mitte marsruutimistabelit uuesti uurida.

Võrdle tegelikku rakendust, mitte korduvaid pinge. Pane kirja, kas tõrge järgib kindlat järgmist hüpet, paketi suurust või üleminekut pärast uuesti ühendamist, sest need kolm mustrit osutavad erinevatele parandustele.

Lõpuks pane kirja, miks teid peetakse samaväärseteks ja kuidas tõrge peaks ühe neist töölt välja viima. Mitmetee on turvaline ainult siis, kui teed on tõesti vahetatavad, ja see on disaini väide, mida tasub kontrollida, mitte eeldada.

Seotud artiklid