Ping iš IPsec šliuzo naudoja kitą šaltinio adresą
Ping, paleistas pačiame šliuze, pasirenka savo šaltinį, ir tas šaltinis pakeičia politiką bei grįžimo kelią. Pasirinkite testą, kuris įrodo tai, ko jums reikia.
Siųskite ping į kitą pusę iš IPsec šliuzo, negaukite atsakymo ir padarykite išvadą, kad tunelis sugedęs, nors kiekviena darbo apkrova už šliuzo normaliai praleidžia srautą. Šie du rezultatai neprieštarauja vienas kitam. Šliuze paleistas ping yra vietinio šaltinio paketas, o šliuzas šaltinio adresą renkasi iš savo maršrutizavimo lentelės. Šis pasirinkimas gali skirtis nuo adresų, kuriuos naudoja tikrasis svetainės srautas, ir tai pakeičia, kuri politika atitinka bei koks grįžimo maršrutas galioja. Nuspręskite, ką testas turi įrodyti, prieš darydami bet kokias išvadas iš rezultato.
Trys skirtingi klausimai, į kuriuos ping gali atsakyti
Pirmasis klausimas, ar tolimoji pusė apskritai pasiekiama iš šio pagrindinio kompiuterio. Antrasis, ar tunelio selektoriai arba maršrutais pagrįsta politika praleidžia srautą iš konkretaus šaltinio. Trečiasis, ar persiųstas srautas iš darbo apkrovos už šliuzo veikia nuo galo iki galo. Viena komanda negali atsakyti į visus tris, ir šaltinio adresas yra tai, kas juos skiria.
Pirmiausia pasirinkite klausimą. Priešingu atveju nepavykęs ping tampa įrodymu tai teorijai, kurią jau turėjote.
Kodėl šliuzas pasirenka adresą, kurio nesitikėjote
Kai siunčiate ping į paskirties vietą, vietinė krūva pasirenka šaltinį iš maršruto, kuris ją atitinka. Maršrutais pagrįstame tunelyje tai gali būti tunelio sąsajos nuorodos adresas, kuris daugelyje svetainės projektų yra 169.254.x.x pora, pasirinkta taško-taško šuoliui. Tie adresai egzistuoja, kad nuoroda veiktų; tolimojoje pusėje jie nėra skelbiami kaip programų šaltinio tinklai.
Taigi tolimoji pusė gali gauti aido užklausą iš adreso, į kurį neturi grįžimo maršruto, arba iš tokio, kurio neatitinka nė vienas selektorius. Tunelis gali būti sveikas, o ping vis tiek gali nepavykti, ir tai būtent tas klaidingai neigiamas rezultatas, apie kurį šis straipsnis.
Pasirinkite šaltinį sąmoningai
Valdomame Linux šliuze pasirinkite šaltinį, kuris jau priskirtas vietiškai: ping -c 4 -I 10.30.0.1 10.40.0.20. Čia pateikti adresai yra iliustratyvūs, todėl pakeiskite juos tikruoju vidiniu šliuzo adresu ir tikra tolima paskirtimi bei patvirtinkite, kad pasirinktas šaltinis priklauso šiam įrenginiui ir kad svetainės politika jį praleidžia.
Nesiskolinkite darbo apkrovos adreso testui. Imituodami pagrindinį kompiuterį, kuris nepriskirtas šliuzui, sukuriate rezultatą, kurio niekas negali pakartoti, o kai kuriose krūvose tai nepavyksta taip, kad atrodo kaip tunelio gedimas.
Skaitykite grįžimo kelią, ne tik užklausą
Patikrinkite, koks šaltinis iš tikrųjų pasiekia tolimą paskirtį, įskaitant bet kokį sąmoningą vertimą kelyje. Tada patikrinkite tolimosios pusės grįžimo maršrutą į tą šaltinį ir selektorius arba politiką, kurie jį praleidžia. Užklausa, kuri ateina su netikėtu šaltiniu, yra maršrutizavimo ir politikos klausimas, o ne kriptografijos.
Čia taip pat paketų fiksavimas padeda labiau nei dar vienas ping: jis parodo šaltinį, kurį matė tolimoji pusė, ir tai yra adresas, kurį turi pasiekti jos atsakymas.
Tada išbandykite darbo apkrovą
Lemiamas testas yra ping iš įprasto pagrindinio kompiuterio už šliuzo į įprastą pagrindinį kompiuterį už tolimojo šliuzo. Tai išbando šliuzo persiuntimo vaidmenį, tikrąjį programos šaltinį ir tikrą grįžimo kelią, o tai yra srautas, kuris rūpi naudotojams.
Laikykite rezultatus atskirai savo užrašuose: pasiekiamumas iš šliuzo, politikos leidimas pasirinktam šaltiniui ir persiųstas srautas. Sėkmingas prisegtas ping yra naudingas įrodymas, kad tunelis ką nors perduoda; tai ne įrodymas, kad veikia kiekvienas persiųstas srautas. O automatiškai pasirinktas šliuzo šaltinis, kurio negalima pasiekti, nėra įrodymas, kad svetainės tunelis neveikia.
Nepridėkite bendro maršruto 169.254.0.0/16 tik tam, kad gautumėte vieną diagnostinį atsakymą. Tai iškeičia klaidinantį testą į nuolatinį maršrutizavimo sprendimą, o kitas žmogus jį paveldi be konteksto.