Kwa nini njia ya OpenVPN inashindwa na sera ya XFRM ya strongSwan
Njia mahususi ya OpenVPN haibatilishi sera ya XFRM: soma njia na vichaguzi vya sera, kisha punguza, fanya ubaguzi au nenda kwenye kiolesura cha XFRM.
Pakiti zinaweza kufuata njia ya OpenVPN na bado zikamatwe na sera ya IPsec, na mchanganyiko huo unaonekana kama hitilafu ya uelekezaji kutoka kila pembe isipokuwa ile sahihi. Linux hutatua njia kisha hushauriana na hifadhidata tofauti ya sera za usalama, kwa hiyo njia mahususi zaidi ya lengwa haiondoi sera ya XFRM inayolingana. Dalili inayoonekana ni trafiki inayoondoka kwenye mwenyeji na haifiki kamwe, wakati vifungu vyote viwili vinajitangaza kuwa na afya. Chaguo tatu huitatua, na lipi unalochagua linategemea ni njia ipi kati ya hizo mbili inayopaswa kubeba kiambishi hicho.
Maamuzi mawili, si moja
Uchaguzi wa njia hujibu swali jembamba: ni hatua ipi inayofuata na anwani ya chanzo ipi inapaswa kubeba pakiti hii. Hifadhidata ya sera za usalama hujibu lingine: je, pakiti hii inahitaji ulinzi wa IPsec, na chini ya vichaguzi vipi. Vyote viwili hufanya kazi kwa pakiti moja, na kutimiza la kwanza hakusemi chochote kuhusu la pili. Ndiyo sababu kubadilisha kipimo au kuongeza njia tuli kunaweza kuacha dalili bila kuathirika.
Kichaguzi kipana cha IPsec ndiyo sababu ya kawaida. Sera inayolinda 172.16.0.0/12 pia inashughulikia 172.20.8.0/24, ambako msimamizi anaweza kuwa na nia ya kufika kwa njia ya kifungu cha OpenVPN badala yake. Nia hiyo inapatikana tu kwenye jedwali la uelekezaji, na hifadhidata ya sera haijawahi kuifahamu.
Chukulia hilo kama mgongano kati ya njia mbili za ulinzi zilizosanidiwa, si kama mashindano kati ya vipimo viwili. Marekebisho ni ya sehemu iliyosanidiwa na wigo usiofaa.
Soma njia ambayo kerneli huchagua kwa kweli
Anza na utafutaji ambao kerneli hufanya, ikiwa ni pamoja na anwani ya chanzo na kanuni yoyote ya sera inayoweza kuielekeza kwenye jedwali lingine. Njia iliyo kwenye jedwali kuu inaweza kutazamwa kamwe ikiwa kanuni ya awali inachagua jedwali lingine, na ulinganifu wa kiambishi kirefu zaidi unatumika tu ndani ya jedwali ambalo kanuni huchagua.
ip rule show
ip route show table all
ip route get 172.20.8.20 from 10.44.7.15
Amri ya mwisho ndiyo muhimu, kwa sababu inachapisha njia iliyochaguliwa pamoja na anwani ya chanzo ambayo kerneli ingetumia. Linganisha matokeo hayo na kichaguzi ambacho sera ya IPsec inalingana nacho. Njia inapoelekeza kwenye kiolesura cha OpenVPN na sera ikiwa bado inalingana na jozi hiyo hiyo, umerudia mgongano bila kubahatisha.
Weka dumps bila anwani zisizohusiana kabla hazijafika kwenye tiketi. Jedwali la uelekezaji kutoka kwa mwenyeji wa uzalishaji hubeba topolojia ya ndani, na ni mistari inayojibu swali pekee inayostahili kubandikwa.
Soma pia sera inayotumika
Orodha ya sera inaonyesha mwelekeo, vichaguzi na kiolezo kinachoamua kinachotokea kwa pakiti inayolingana. Soma mwelekeo wa kutoka kwanza, kisha upande wa kuingia kwa trafiki ya kurudi, kwa sababu ubaguzi wa upande mmoja huzalisha muunganisho unaoanza na haukamiliki kamwe.
ip -s xfrm policy
swanctl --list-sas
Linganisha vichaguzi kwenye orodha na viambishi ambavyo muunganisho ulijadiliana. Kuzima usakinishaji wa njia wa strongSwan hakuondoi sera hizo, na kubadilisha kipimo hakubadilishi jozi ipi ya chanzo na lengwa ambayo sera inalinda. Marekebisho haya mawili ya uongo yanafaa kuondolewa mapema, kwa sababu watu huyajaribu kwanza.
Ikiwa orodha haina sera yoyote kwa kiambishi ulichokitarajia, tatizo liko mahali pengine na jedwali la uelekezaji pengine linasema ukweli. Ikiwa ina sera pana zaidi inayoshughulikia kiambishi, umepata ukamataji.
Chaguo tatu wakati njia zote mbili ni halali
Kupunguza kichaguzi cha IPsec ndilo chaguo safi zaidi wakati kiambishi kipana kilikuwa faraja na si sharti. Kupunguza kichaguzi cha trafiki ya mbali hadi subnet ambazo kwa kweli ziko nyuma ya IPsec huondoa mgongano kwa kila mwenyeji mara moja, na gharama yake ni majadiliano mapya ya ufunguo, si sehemu mpya.
Ubaguzi wa kupitisha ni chaguo la upasuaji wakati kichaguzi kipana lazima kibaki. strongSwan inaunga mkono muunganisho tofauti ambao mtoto wake hutumia hali ya pass, ambayo huambia kerneli kwamba trafiki inayolingana haipaswi kuchakatwa na IPsec. Anwani ya mbali ya loopback huzuia muunganisho huo kuchaguliwa kwa wenzake wanaoingia, na vichaguzi lazima vieleze jozi halisi iliyoidhinishwa badala ya kila kitu.
connections {
openvpn-exception {
remote_addrs = 127.0.0.1
children {
openvpn-exception {
local_ts = 10.44.7.0/24
remote_ts = 172.20.8.0/24
mode = pass
start_action = trap
}
}
}
}
Mifano ya usanidi wa strongSwan hurekodi aina hii ya sera na desturi ya mwenza wa loopback. Chaguo la tatu ni muundo unaotegemea uelekezaji na violesura vya XFRM, unaofunga sera kwa trafiki inayoelekezwa kupitia kiolesura kilichotajwa badala ya kichaguzi cha kimataifa. Ni uhamiaji na si marekebisho, na trafiki bado lazima itimize vichaguzi vilivyojadiliwa.
| Option | Use it when | Cost |
|---|---|---|
| Narrow the selector | The broad prefix was convenience | A rekey and a policy review |
| Passthrough child | The broad selector must stay | One exception per intended pair |
| XFRM interface | Policy should follow routing | A design migration |
Thibitisha ubaguzi bila kudhoofisha mengine
Baada ya kupakia mabadiliko, jaribu ubaguzi na lengwa la kawaida ambalo lazima libaki likilindwa. Angalia pande zote mbili, kisha angusha kifungu cha OpenVPN na uthibitishe kinachotokea kwa trafiki iliyobaguliwa. Ubaguzi unaotuma kiambishi hicho kwa utulivu na wazi wakati kifungu kiko chini ni uamuzi wa sera unaopaswa kuufanya kwa makusudi, si kuugundua wakati wa tukio.
Andika ni kiambishi kipi kinatumia njia ipi na kwa nini. Vinginevyo mhandisi anayefuata atakayeona kichaguzi kipana atafungua tena uchunguzi huo huo, na jibu litabaki kwenye ujumbe wa commit ambao hakuna anayesoma.