IPsec ndani ya IPsec: ni anwani zipi ambazo handaki la nje lazima libebe
Ipe handaki la nje anwani za lango za ndani, sio subnet za programu. Kisha thibitisha uenezaji, tafsiri na MTU katika kila tabaka kabla ya kuiita nested.
IPsec iliyowekwa ndani ni rahisi kufikiriwa wakati tabaka mbili zinaishia kwenye mashine tofauti. Malango manne, handaki mbili na swali moja linaloamua kama muundo unafanya kazi: handaki la nje linaona nini hasa wakati la ndani limekamilisha pakiti? Jibu hilo na vichaguzi, njia na mpangilio wa utatuzi wa matatizo hufuata. Ukikosea utatumia siku moja kurekebisha hitilafu za handaki ambalo kwa kiufundi liko hai.
Muundo wa malango manne
Malango ya nje A na B hujenga handaki la kwanza kati ya maeneo mawili. Nyuma ya A kuna lango la ndani C lenye anwani ya kupita 10.60.0.2; nyuma ya B kuna lango la ndani D lenye anwani ya kupita 10.70.0.2. Mitandao ya programu huishi nyuma ya C na D, na kila anwani katika mfano kwa makusudi haiingiliani.
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
Kugawanya tabaka kwenye wenyeji wanne kunamaanisha kila mashine inatekeleza mpaka mmoja. Mwenyeji mmoja anayeendesha tabaka zote mbili lazima aafikishe seti mbili za sera, majedwali mawili ya njia na mbinu mbili za kushindwa kwenye mashine moja, jambo ambalo linawezekana na ni gumu zaidi kuliona.
Kila tabaka huondoa ulinzi wake tu
C husimba pakiti ya programu kwa D. Matokeo yanaelekezwa kutoka C hadi D, na ndiyo inayofika A. Kila kitu kinachofuata kinategemea uandishi huo upya.
A huisimba tena kwa B. B husimbua tabaka la nje, huona pakiti kutoka C hadi D na kuipitisha ikiwa bado imesimbwa. D huondoa ulinzi wa ndani na kuwasilisha pakiti ya programu.
Kwa hiyo A na B huona ncha za ndani na metadata zake, lakini sio pande zinazosimbua mzigo wa programu. Hiyo ni sifa halisi ya muundo, sio madai kwamba C, D au wenyeji wa programu wanaaminika.
Vichaguzi vya nje huitaja lango za ndani
Hapa ndipo mengi ya majengo haya hushindwa. Kwa handaki la nje lenye msingi wa sera, vichaguzi mnazojadiliana lazima viwe na anwani ambazo A na B hushughulikia kweli: 10.60.0.2/32 na 10.70.0.2/32, kwa mpangilio sahihi wa ndani na wa mbali.
Kuweka subnet za mwisho za programu kwenye vichaguzi vya nje hakufanyi kazi, kwa sababu pakiti inapofika A, usimbaji wa ndani tayari umeandika upya kile ambacho A lazima kilinde. Wakati huo sera ya nje haitalingana na kitu, na handaki litapanda bila kubeba data.
Usibane ruhusa ya nje hadi UDP 500. Muunganisho wa ndani una njia yake ya data, ambayo hutumia ESP au usimbaji wa UDP kulingana na kile kilichojadiliwa, na sera ya nje lazima iruhusu itifaki hiyo.
Angalia matokeo kwa swanctl --list-sas kwenye kila lango na thibitisha kuwa vyama vya usalama vya watoto vinaripoti anwani mliokusudia, sio zile mliodhani. Ikiwa orodha inaonyesha subnet za programu, sera ya nje imeandikwa kwa tabaka lisilofaa. Rekebisha vichaguzi kabla ya kurekebisha hitilafu za uelekezaji, kwa sababu uelekezaji utaonekana sawa na vihesabu havitakwenda.
Uenezaji na mtego wa kurudia
Vichaguzi havibadilishi uelekezaji. A na B lazima zieneze trafiki kati ya C na D kwa pande zote mbili, ambayo inamaanisha uenezaji wa IP umewezeshwa, njia zinazoelekeza kwenye handaki na njia ya kurudi iliyopo upande wa pili.
Ikiwa handaki la nje linatumia violesura vya XFRM, njia huchagua kiolesura wakati sera zilizojadiliwa bado zinaweka mipaka ya kile kinachobebwa. Kiolesura hakipanui kinacholindwa; kinabadilisha tu jinsi kernel inavyochukua pakiti.
Mtego ni kurudia. Njia ya A kuelekea ncha ya nje ya B lazima ifuate mtandao wa chini, sio handaki ambalo A linajenga, vinginevyo usimbaji unajaribu kusafiri ndani yake na muunganisho haukamiliki kamwe.
Chunguza tafsiri kabla ya kuongeza tabaka
Angalia NAT yoyote ya chanzo kwenye A na B kabla ya kurekebisha kitu kingine. Sheria inayoandika upya anwani ya C kabla ya sera ya IPsec kutumika inaweza kuvunja vichaguzi vilivyokubaliwa, na inaweza pia kubadilisha kile D kinachopokea upande wa pili.
Ufichaji mpana haufanyiki salama zaidi kwa kuwa na tabaka mbili. Unaficha ni anwani ipi upande wa mbali unaona, na hiyo ndiyo taarifa unayohitaji wakati handaki liko hai na programu haifanyi kazi.
Ikiwa sheria ya NAT inahitajika kweli, andika ni anwani ipi kila upande unadhani unazungumza nayo. Mstari huo mmoja hutatua mengi ya mabishano kuhusu kama handaki au tafsiri ndiyo yenye kosa. Pia humwambia mhandisi anayefuata wapi kuangalia sheria itakapoondolewa mwaka mmoja baadaye. Ping haitafanya lolote la hayo.
Thibitisha fail-closed na uangalie MTU
Kupotea kwa njia peke yake sio sera ya fail-closed. Jedwali lingine, njia ya kawaida au sheria ya sera inaweza kutoa njia mbadala kwa utulivu, na njia pekee ya kujua ni kushusha handaki la nje na kuangalia trafiki ya programu inafanya nini. Fanya hivyo kwa makusudi, ndani ya dirisha, badala ya kuigundua kwa bahati mbaya.
Jaribu hali tatu: handaki la nje chini, handaki la ndani chini, na urejeshaji baada ya zote mbili kurudi. Tumia vihesabu vya sera kwenye kila lango, kwa sababu vikao viwili vya IKE vilivyoanzishwa vinathibitisha tu kwamba majadiliano ya tabaka la udhibiti yalifanikiwa.
Panga bajeti kwa usimbaji wote wawili. IKE inayofanya kazi ni matokeo ya pakiti ndogo, na pakiti za programu za ukubwa kamili bado zinaweza kushindwa mara mbili vichwa vinapoongezwa; jaribu kwa ukubwa wa mzigo unaojulikana kwenye njia halisi badala ya kudhani kwamba namba zinajumlisha. Hesabu ni rahisi, njia sio.