IPsec inni í IPsec: hvaða vistföng verður ytri göngin að bera
Gefðu ytri göngunum vistföng innri hliðanna, ekki undirnet forritanna. Sýndu síðan fram á framsendingu, þýðingu og MTU á hverju lagi áður en þú kallar þetta hreiðrað.
Auðveldara er að hugsa um hreiðrað IPsec þegar lögin tvö enda á mismunandi vélum. Fjögur hlið, tvö göng og ein spurning sem ræður því hvort hönnunin virkar: hvað sér ytra tunnið í raun þegar hið innra er búið með pakkann? Svaraðu því og valarnir, leiðirnar og röð villuleitar fylgja. Farðu rangt að og þú eyðir degi í að kemba göng sem eru tæknilega uppi.
Líkanið með fjórum hliðum
Ytri hliðin A og B byggja fyrstu göngin milli staðanna tveggja. Að baki A er innra hliðið C með gegnumferðarfangi 10.60.0.2; að baki B er innra hliðið D með gegnumferðarfangi 10.70.0.2. Forritanetin búa að baki C og D, og hvert vistfang í dæminu er viljandi ekki skarast.
application net -> C -> A == outer IPsec == B -> D -> application net
\---------- inner IPsec ----------/
C transit: 10.60.0.2 D transit: 10.70.0.2
A and B: underlay addresses only
Að skipta lögunum á fjórar vélar þýðir að hver vél heldur uppi einni mörk. Ein vél sem keyrir bæði lögin verður að samræma tvö sett af stefnum, tvær leiðatöflur og tvö bilanatilvik á einni vél, sem er mögulegt og mun erfiðara að fylgjast með.
Hvert lag fjarlægir aðeins sína eigin vernd
C dulkóðar forritapakka fyrir D. Niðurstaðan er vistfangið frá C til D, og það er það sem nær til A. Allt niðurstreymis veltur á þeirri endurskrifun.
A dulkóðar hann aftur fyrir B. B afkóðar ytra lagið, sér pakka frá C til D og sendir hann áfram enn dulkóðaðan. D fjarlægir innri verndina og afhendir forritapakkann.
Þannig sjá A og B innri endapunktana og lýsigögn þeirra, en eru ekki aðilarnir sem afkóða farm forritsins. Þetta er raunverulegur eiginleiki hönnunarinnar og ekki fullyrðing um að C, D eða forritavélarnar séu áreiðanlegar.
Ytri valarnir nefna innri hliðin
Hér mistakast flest þessara bygginga. Fyrir ytra tun sem byggir á stefnu verða valarnir sem þú semur um að innihalda vistföngin sem A og B meðhöndla í raun: 10.60.0.2/32 og 10.70.0.2/32, í réttri staðbundinni og fjarlægri röð.
Að setja endanlegu forritaundirnetin í ytri valana virkar ekki, því þegar pakki nær A hefur innri hjúpunin þegar endurskrifað það sem A verður að vernda. Þá myndi ytri stefnan passa við ekkert, og tunnið kæmi upp án þess að bera gögn.
Ekki þrengja ytra leyfið að UDP 500 heldur. Innri tengingin hefur sína eigin gagnaleið, sem notar ESP eða UDP-hjúpun eftir því sem samið var um, og ytri stefnan verður að leyfa það samskiptareglur.
Athugaðu niðurstöðuna með swanctl --list-sas á hverju hliði og staðfestu að barn öryggistengslanna tilkynni vistföngin sem þú ætlaðir, ekki þau sem þú gerðir ráð fyrir. Ef listinn sýnir forritaundirnetin var ytri stefnan skrifuð fyrir rangt lag. Lagaðu valana áður en þú kembir leiðakerfið, því leiðakerfið mun líta vel út og teljararnir hreyfast ekki.
Framsending og gildran í endurkvæmni
Valarnir koma ekki í stað leiðakerfisins. A og B verða að senda umferð milli C og D í báðar áttir, sem þýðir virka IP-framsendingu, leiðir sem benda á tunnið og bakleið sem er til hinum megin.
Ef ytra tunnið notar XFRM-tengi velja leiðirnar tengið á meðan samið stefnur takmarka enn það sem það ber. Tengi víkkar ekki hið verndaða; það breytir aðeins hvernig kjarninn tekur pakkann.
Gildran er endurkvæmni. Leið A að ytri endapunkti B verður að fylgja undirlaginu, ekki tunninu sem A er að reisa, annars reynir hjúpunin að ferðast inni í sjálfri sér og tengingin klárast aldrei.
Skoðaðu þýðingu áður en þú bætir við lögum
Skoðaðu hvaða source NAT sem er á A og B áður en þú stillir eitthvað annað. Regla sem endurskrifar vistfang C áður en IPsec-stefnan gildir getur brotið samþykktu valana, og hún getur líka breytt því sem D tekur við hinum megin.
Breitt masquerading verður ekki öruggara vegna tveggja laga. Það felur hvaða vistfang fjarlægi aðilinn sér, og það er einmitt upplýsingarnar sem þú þarft þegar tunnið er uppi og forritið ekki.
Ef NAT-regla er í raun nauðsynleg skaltu skrifa niður hvaða vistfang hvor aðili telur sig tala við. Þessi eina lína leysir flest rifrildi um hvort tunnið eða þýðingin sé sek um. Hún segir næsta verkfræðingi líka hvar á að líta þegar reglan er fjarlægð ári síðar. Ping gerir ekkert af þessu.
Sýndu fram á fail-closed og athugaðu MTU
Að leið hverfi er ekki fail-closed stefna út af fyrir sig. Önnur tafla, sjálfgefin leið eða stefnuregla getur hljóðlega veitt varaleið, og eina leiðin til að vita það er að taka ytra tunnið niður og fylgjast með því hvað forritaumferðin gerir. Gerðu það viljandi, í glugga, í stað þess að uppgötva það fyrir slysni.
Prófaðu þrjú stöðu: ytra tunnið niðri, innra tunnið niðri og endurheimt eftir að bæði koma aftur. Notaðu stefnuteljara á hverju hliði, því tvö uppsett IKE-lotur sanna aðeins að samningaviðræður stýriplansins tókust.
Gerðu ráð fyrir báðum hjúpunum. Virkt IKE er niðurstaða lítilla pakka, og fullstórir forritapakkar geta enn mistekist þegar tveimur hausum er bætt við; prófaðu með þekktri farmstærð á raunverulegu leiðinni í stað þess að gera ráð fyrir að tölurnar leggist saman. Reikningurinn er auðveldur, leiðin ekki.