IPsec kun pluraj subretoj perdas revenan trafikon? Kalkulu la reqid-ojn
Unudirekta trafiko en tunelo kun pluraj subretoj estas kutime malkongruo de politiko kaj reqid, ne de ĉifrado aŭ enkursigado. Legu la xfrm-datumbazojn laŭorde.
Trafiko forlasas unu lokon kaj neniam revenas, ambaŭ pordegoj raportas finitan intertraktadon, kaj la sola indico estas amaso da elirantaj pakoj sen respondoj. Ĉe Linux-finpunkto la kutima kaŭzo ne estas la forto de ĉifrado, la MTU aŭ enkursiga tabelo. Ĝi estas la grajneco de la politikaj eroj kaj la numero, kiu ligas ĉiun politikon al sekureca asocio. La suba proceduro legas tiujn du datumbazojn antaŭ ol tuŝi ion alian.
Apartigu la simptomon antaŭ ol ŝanĝi ion
Unudirekta fiasko kun finita IKE-intertraktado mallarĝigas la problemon al la datenvojo. Aŭ la elira politiko kongruis kaj la respondo estis forĵetita, aŭ la respondo neniam alvenis ĉar la alia flanko havis nenion, per kio sendi ĝin. Por aplikaĵo ambaŭ kazoj aspektas same, kaj la xfrm-datumbazoj distingas ilin.
Ne komencu per la MTU. Malĝusta MTU produktas haltojn kaj fragmentiĝajn simptomojn, ne puran disigon de direkto kun kreskantaj eliraj kalkuliloj.
Legu la politikan datumbazon kaj la statan datumbazon
En Linux ĉifradon decidas la politikaj eroj, do konforma politiko, ne itinero, enigas pakon en la tunnelon. Rulu ip xfrm policy por vidi la selektilojn, direkton, prioritaton kaj ŝablonon de ĉiu ero, kaj ip xfrm state por vidi la establitajn asociojn kun iliaj reqid-oj. La politiko kaj la asocio estas ligitaj per tiu reqid.
Rigardu ĉiujn tri direktojn. Elira kaj enira kovras trafikon al kaj de ĉi tiu gastiganto; la plusenda direkto gravas kiam la gastiganto enkursigas por aliaj. Mankanta aŭ malkongrua ero en unu direkto klarigas unudirektan rezulton sen iu ajn kriptografia fuŝo.
La klasika nesimetrio: unu reqid por pluraj subretoj
Oftega fiasko venas de kunulo, kiu instalas politikojn por ĉiuj intertraktitaj subretoj sub unu sola reqid, kio okazas ĉe la generate_policy require de racoon. La trafiko tiam eliras per la asocio establita laste, dum la alia flanko tenas apartan asocion por ĉiu subreto. Respondoj alvenas sur asocio, kies reqid ne indikas la politikon, kiu devus akcepti ilin, kaj la kerno forĵetas ilin post malĉifrado.
La korekto estas konfigura ŝanĝo, ne fajroŝirma regulo: generate_policy unique; donas al ĉiu politiko sian propran reqid, tiel ke la asocioj laŭ politiko de la kunulo havas kongruajn partnerojn. Apliku ĝin, intertraktu denove, kaj kalkulu la diversajn reqid-ojn por la atendataj subretoj antaŭ ol deklari sukceson.
Se du subretoj ankoraŭ dividas unu reqid, dum la alia flanko atendas du, vi trovis la nesimetrion. Notu la mapadon, ĉar ĝi estas la pruvo, ke la sekva ŝanĝo korektis aŭ konservis ĝin.
La selektiloj venas de la intertraktado, ne de via konfiguraĵo
La protektitaj intervaloj estas tio, pri kio interkonsentis ambaŭ finoj, ne tio, kion petis unu flanko. Kliento, kiu proponas gastigantan paron kontraŭ larĝa fora intervalo, ricevas la mallarĝigitan version de la pordego, kaj la kliento ne povas larĝigi ĝin. Legu la instalitajn selektilojn anstataŭ tiujn en via loka dosiero.
Kiam la celo estas la malo, teni unu celon ekster la tunelo, aldonu preteriran politikon kun pli malalta prioritata numero, por ke ĝi venku la aŭtomate instalitan eron. Politiko sen ŝablono permesas klaran tekston, kio igas ĝin konscia escepto por ŝanĝprotokolo anstataŭ sencimiga paŝo.
Kontrolu laŭ ĉi tiu ordo, kaj sciu kiel malfari
Listigu politikojn por ĉiu subreto en ambaŭ direktoj, inkluzive la plusendan se la gastiganto enkursigas. Kalkulu la diversajn reqid-ojn kaj konfirmu unu por politiko ĉe la flanko, kiu atendas ĝin. Komparu la instalitajn selektilojn kun la intertraktitaj. Relu la kalkulilojn laŭ asocio post ŝlosila renovigo, ĉar la asocio, kiun vi inspektis, eble jam foriris. Kontrolu itinerojn laste, ĉar mankanta itinero al la fora subreto produktas similan unudirektan simptomon kun puraj politikaj kalkuliloj.
Antaŭ ol ŝanĝi la kunulon, konservu la nunan eligon de ambaŭ xfrm-komandoj. Se la nova agordo ne restarigas la revenan direkton, restarigi tiun eligon estas pli rapida malfaro ol rekonstrui la tunnelon el memoro, kaj ĝi tenas la komparon honesta.