Dvigubi IKE paketai: raskite trūkstamą perėjimą
Pasikartojanti IKE užklausa yra laikmačio įvykis, o ne diagnozė. Sukurkite vieną įrodymų grandinę nuo iniciatoriaus iki atsakymo su teisingais versijos identifikatoriais.
Žurnalas rodo tą pačią IKE užklausą du kartus, kažkas nurodo į mobilųjį uplinką, o bilietas uždaromas spėjimu. Tas spėjimas ir yra mitas: pasikartojęs paketas yra vieno mainų stebėjimas, o ne jungties diagnozė. Perdavimas iš naujo yra įprastas elgesys su savo taisyklėmis, ir jis pasirodo sveikuose keliuose, kai atsakymas lėtas. Sekite atsakymą prieš kaltindami sąsają.
Mitas: pasikartojusi užklausa įrodo nuostolį vienoje jungtyje
Du skirtingi dalykai sukuria dublikatą, ir nė vienas neįvardija kaltininko. Užklausėjas gali pakartoti užklausą, nes negavo atsakymo, arba fiksavimo taškas gali parodyti tą patį paketą du kartus dėl to, kur jis prijungtas prie kamino. Čiaupas, matantis įėjimą ir išėjimą tame pačiame mazge, mielai užregistruos vieną paketą kaip du, o žurnalą skaitantis operatorius neturi būdo atskirti be mainų identifikatorių. Traktuokite dublikatą kaip laikmačio įvykį, kol galėsite pasakyti, kurį iš dviejų laikote rankoje.
Du uplinkai painiavą blogina, o ne gerina. Viena žurnalo eilutė įvardija vieną sąsają, o atsakymas galėjo išeiti per kitą, todėl pranešime esanti sąsaja apibūdina, kur paketas buvo matytas, o ne pokalbio formą. Todėl pirmas klausimas yra kokius mainus žiūrite, o ne kuri jungtis sugedusi.
Ką perdavimas iš naujo iš tikrųjų pasako
IKEv2 atveju perdavimas iš naujo veikia taip: užklausėjas pakartoja užklausą, kai atsakymas neatėjo, o atsakėjas gali iš naujo išsiųsti savo podėlyje laikomą atsakymą, o ne skaičiuoti naują. Pranešimų identifikatoriai priklauso tiems mainams, ir būtent tai daro pasikartojusią užklausą su tuo pačiu identifikatoriumi atpažįstamą kaip protokolo darbą, o ne naują bandymą. Pradiniam bandymui koreliuoti dažnai reikia daugiau nei šaltinio adreso ar iniciatoriaus SPI, todėl platformos pačios mainų įrašas geresnis už paketų sąrašą. IKEv1 laikosi kitų taisyklių su kitais identifikatoriais, o tiekėjo įspėjimas apie dvigubą pirmą paketą nereiškia to paties visose versijose.
Taigi perdavimo iš naujo laiko žyma pasako, kad laikmatis pasibaigė. Ji nepasako, kuris šuolis buvo lėtas, ir tikrai nepasako, kad kaltas operatorius. Tai atskiri teiginiai, ir biliete naudingas tik antrasis.
Praktinė pasekmė – užregistruoti mainus prieš darant išvadą. Užsirašykite vietinį priėmimo adresą, politikos pasirinktą atsakymo kelią, poros tuple ir mainų identifikatorius vienoje vietoje, nes kiekvienas jų atsako į kitą klausimą, kai įrašas skaitomas vėliau.
Keturi stebėjimo taškai kaip viena grandinė
Mąstykite apie mainus kaip apie keturias grandinės grandis, o ne keturias atskiras vietas žiūrėti. Grandis laiko įrodymus arba lieka nežinoma, o grandinė yra tokia informatyvi, kokia yra jos silpniausia užregistruota grandis. Lentelė žemiau yra inventorius: ką gali nustatyti kiekviena pozicija ir ką palieka nepaliesta.
| Pozicija | Įrodymai, kuriuos ji gali pateikti | Ką palieka atvirą |
|---|---|---|
| Iniciatorius siunčia | Užklausa paliko šį mazgą | Ar ji pasiekė porą |
| Atsakėjas priima | Užklausa atėjo | Ar atsakymas buvo sukurtas |
| Atsakėjas siunčia | Atsakymas paliko šliuzą | Ar jis ėjo numatytu keliu |
| Iniciatorius priima | Mainai baigti | Ar politika priėmė rezultatą |
Pildykite grandinę tik ten, kur turite prieigą, o likusią dalį pažymėkite nežinoma, o ne išveskite. Kablys, registruojantis paketus vienoje mašinoje, nieko nesako apie tai, ką gavo tolima mašina, o žurnalo eilutė, kad užklausa buvo matyta, nėra įrodymas, kad atsakymas kada nors išėjo. Sąžiningos spragos naudingesnės už spėlionėmis pastatytą, pilnai atrodantį įrašą.
Raskite pirmą trūkstamą perėjimą
Eikite grandine nuo iniciatoriaus į išorę ir sustokite prie pirmos grandies be įrodymų. Jei šliuzas niekada neregistruoja užklausos, gedimas yra kelyje prieš jį. Kai šliuzas kartoja tą pačią užklausą, o klientas niekada neregistruoja atsakymo, įtartina yra grįžimo kryptis: šaltinio adresas, vertimas ir filtravimas kiekvienoje jūsų kontroliuojamoje riboje. Jei atsakymas ateina, o klientas vis tiek nejuda, klausimas paliko transportą ir tapo politika ar būsena.
Laikykite porą ir protokolą fiksuotus lygindami ir atminkite, kad delsimas, nuostoliai, politika ir būsena kiekvienas sukuria skirtingą laiko juostą. Mobilusis tinklas nėra automatiškai priežastis, o fiksuota linija nėra automatiškai pakankamai patikima kiekvienam reikalavimui. Fiksuokite abi kryptis, kol mainai vyksta:
tcpdump -ni any -vv 'udp port 500 or udp port 4500'
Kai prieiga nutrūksta prieš tolimą galą, įrašas vis tiek padeda, jei pasako, kur ji nutrūksta. Fiksavimas tik iniciatoriuje gali parodyti išeinančią užklausą ir neateinantį atsakymą, o tai susiaurina gedimą iki visko po to kablio, neapsimetant žinant, kuris šuolis jį numetė. Pažymėkite tolimas grandis nežinomomis ir leiskite kitam žmogui su prieiga jas užpildyti. Taip užrašytas įrašas išlieka sąžiningas ir vis tiek trumpas.
Palyginkite prieš ką nors keisdami. Tos pačios užklausos kartojimas tam pačiam porininkui su tuo pačiu protokolu palieka kintamuosius suskaičiuojamus, o perkrovimas, rakto atnaujinimas ar politikos redagavimas tarp fiksavimų sunaikina palyginimą. Jei pakeitimas neišvengiamas, fiksuokite iš karto po jo, kad prieš ir po vis dar apibūdintų tuos pačius mainus.
Ką pasako naudinga ataskaita
Veiksmų verta ataskaita suporuoja vieną užklausą su jos atsakymu ir įvardija pirmą žingsnį, už kurio nėra įrodymų. Tas sakinys atlaiko skaitymą po savaitės inžinieriaus, kuris ten nebuvo, ir duoda kitam žmogui pradžios tašką, o ne įtariamąjį.
Niekada nesusilpninkite tapatybės patikrų ir neplėskite leidžiamų protokolų rinkinio vien tam, kad patikrintumėte perdavimo iš naujo teoriją. Išsaugokite originalius paketus ir įvykių įrašus prieš bet kokį perkrovimą, nes perkrovimas sunaikina būtent tą medžiagą, kurią ketinote rinkti, ir ištrina laiką, rodžiusį, kur mainai strigo.
Mitas yra tai, kad vienas dublikatas įrodo operatoriaus kaltę. Realybė yra tai, kad vienas dublikatas įrodo, jog laikmatis pasibaigė, o atsakymas gyvena atsakymo kelyje.