Srautas palieka vieną vietą ir niekada negrįžta, abu tinklų sietuvai praneša apie baigtas derybas, o vienintelė užuomina yra krūva siunčiamų paketų be atsakymų. Linux galiniame taške įprasta priežastis nėra šifravimo stiprumas, MTU ar maršrutizavimo lentelė. Tai politikos įrašų granuliuotumas ir numeris, kuris susieja kiekvieną politiką su saugos asociacija. Toliau pateikta procedūra perskaito šias dvi duomenų bazes, prieš ką nors kita liesdama.

Atskirkite simptomą, prieš ką nors keisdami

Vienkryptis gedimas su baigtomis IKE derybomis susiaurina problemą iki duomenų kelio. Arba siunčiamoji politika atitiko ir atsakymas buvo atmestas, arba atsakymas niekada neatvyko, nes kita pusė neturėjo kuo jo siųsti. Programai abu atvejai atrodo vienodai, o xfrm duomenų bazės juos išskiria.

Nepradėkite nuo MTU. Netinkamas MTU sukelia strigimus ir fragmentacijos simptomus, o ne švarų krypties atskyrimą su augančiais siunčiamų paketų skaitikliais.

Perskaitykite politikos duomenų bazę ir būsenų duomenų bazę

Linux šifravimą lemia politikos įrašai, todėl tinkama politika, o ne maršrutas, įveda paketą į tunelį. Paleiskite ip xfrm policy, kad pamatytumėte selektorius, kryptį, prioritetą ir kiekvieno įrašo šabloną, ir ip xfrm state, kad pamatytumėte sukurtas asociacijas su jų reqid. Politika ir asociacija susiejamos tuo reqid.

Pažiūrėkite į visas tris kryptis. Siunčiamoji ir gaunamoji apima srautą į šį mazgą ir iš jo; persiuntimo kryptis svarbi, kai mazgas maršrutizuoja už kitus. Trūkstamas arba nesutampantis įrašas viena kryptimi paaiškina vienkryptį rezultatą be jokios kriptografinės klaidos.

Klasikinė asimetrija: vienas reqid keliems potinkliams

Dažnas gedimas kyla iš partnerio, kuris įdiegia visų suderėtų potinklių politikas pagal vieną reqid, taip nutinka naudojant racoon generate_policy require. Srautas tada išeina per paskutinę sukurtą asociaciją, o kita pusė laiko atskirą asociaciją kiekvienam potinkliui. Atsakymai atvyksta į asociaciją, kurios reqid nežymi politikos, kuri turėtų juos priimti, ir branduolys juos išmeta po iššifravimo.

Pataisa yra konfigūracijos pakeitimas, o ne ugniasienės taisyklė: generate_policy unique; suteikia kiekvienai politikai savo reqid, todėl partnerio asociacijos pagal politiką turi atitinkančius partnerius. Taikykite tai, derėkitės iš naujo ir suskaičiuokite skirtingus reqid laukiamiems potinkliams, prieš skelbdami sėkmę.

Jei du potinkliai vis dar dalijasi vienu reqid, o kita pusė tikisi dviejų, radote asimetriją. Užrašykite atitikimą, nes tai įrodymas, kad kitas pakeitimas ją ištaisė arba išsaugojo.

Selektoriai ateina iš derybų, o ne iš jūsų konfigūracijos

Apsaugoti diapazonai yra tai, dėl ko susitarė abu galai, o ne tai, ko prašė viena pusė. Klientas, siūlantis mazgų porą prieš platų nuotolinį diapazoną, gauna susiaurintą tinklų sietuvo versiją ir negali jos praplėsti. Skaitykite įdiegtus selektorius, o ne tuos, kurie yra jūsų vietiniame faile.

Kai tikslas priešingas, išlaikyti vieną paskirties tašką už tunelio, pridėkite apėjimo politiką su mažesniu prioriteto numeriu, kad ji nugalėtų automatiškai įdiegtą įrašą. Politika be šablono leidžia atvirą tekstą, todėl ji tampa sąmoninga išimtimi pakeitimų žurnale, o ne derinimo žingsniu.

Tikrinkite šia tvarka ir žinokite, kaip atsukti atgal

Išvardykite politikas kiekvienam potinkliui abiem kryptimis, įskaitant persiuntimo kryptį, jei mazgas maršrutizuoja. Suskaičiuokite skirtingus reqid ir patvirtinkite po vieną politikai toje pusėje, kuri jo tikisi. Palyginkite įdiegtus selektorius su suderėtais. Po rakto atnaujinimo dar kartą perskaitykite asociacijos skaitiklius, nes patikrinta asociacija jau gali būti išnykusi. Maršrutus patikrinkite paskiausiai, nes trūkstamas maršrutas į nuotolinį potinklį duoda panašų vienkryptį simptomą su švariais politikos skaitikliais.

Prieš keisdami partnerį, išsaugokite dabartinį abiejų xfrm komandų išvestį. Jei naujas nustatymas neatkuria grįžimo krypties, tos išvesties atkūrimas yra greitesnis atsukimas nei tunelio atstatymas iš atminties, ir išsaugo sąžiningą palyginimą.

Susiję straipsniai