L2TP/IPsec kupitia NAT: kile kinachovunjika kweli na kwa nini
NAT traversal huhamisha ESP ndani ya UDP, na ramani, firewall na mtoa huduma kila mmoja hushindwa kwa namna tofauti. Tambua hatua kabla ya kumlaumu mteja.
Madai kwamba NAT huvunja L2TP/IPsec ni nusu kweli na kwa hiyo hayana faida. Ubadilishaji wa anwani ni kawaida, NAT traversal ipo hasa ili kuishi hilo, na mamilioni ya wateja huunganisha kila siku kutoka nyuma ya kipanga njia. Kinachovunjika ni hatua mahususi ya mabadilishano mahususi: IKE haipati jibu kamwe, handaki iliyofungwa hutupwa na sera inayoruhusu itifaki moja tu, au ramani ya ubadilishaji huisha wakati handaki haitumiki. Mara unapojua uko katika hatua gani, suluhisho kwa kawaida ni kanuni moja au keepalive, si muundo mpya wa VPN.
Hadithi ndiyo swali lisilo sahihi
Swali lenye faida si «je, NAT huvunja hili» bali «sehemu gani ya mabadilishano inatafsiriwa, na kifaa kinachotafsiri hufanya nini nayo». L2TP/IPsec ni itifaki yenye tabaka: IKE hujadili, ESP hulinda, na L2TP hubeba PPP ndani ya ulinzi huo. Ubadilishaji wa anwani huathiri kila tabaka kwa namna tofauti, na alama za kushindwa zinaweza kutofautishwa ikiwa unatazama hatua ya majadiliano badala ya dirisha la hitilafu.
Kipanga njia kinachovinjari wavuti kwa mafanikio huthibitisha tu kwamba TCP yenye ubadilishaji wa bandari chanzi inafanya kazi. Haisemi chochote kuhusu UDP 500, UDP 4500 au itifaki 50, na vitu hivyo vitatu ndivyo usambazaji huu unategemea.
Hatua 1: IKE lazima ipate jibu hata kidogo
Mabadilishano ya kwanza huenda kwa anayejibu kwenye UDP 500. Ikiwa hakuna jibu linalorudi, hakuna kingine kinachojalisha: ufunguo ulioshirikiwa mapema, pendekezo na hati za kuingia vyote vinasalia bila kusomwa. Tazama ombi na jibu badala ya kukisia kutokana na muda wa mteja:
sudo tcpdump -n -i any 'udp port 500 or udp port 4500 or proto 50'
swanctl --list-sas
Ombi lisilo na jibu kwa kawaida humaanisha kuwa firewall au mtoa huduma aliye juu anatupa pakiti, si kwamba seva iliikataa. Jibu lenye mzigo wa arifa linalotaja pendekezo au tatizo la cheti humaanisha kuwa pakiti zilifika na majadiliano yalishindwa kwa sababu ya maudhui, jambo ambalo ni ukarabati tofauti kabisa.
Wakati pande zote mbili ziko nyuma ya ubadilishaji, mwanzilishi anahitaji tu kufikia anayejibu, kwa hiyo usambazaji mwingi wa upande wa mteja hufanya kazi kuanzia hatua 1. Upangishaji wa upande wa seva ndipo tatizo la kuingia huanzia, na ndiyo sababu hali hizi mbili hazipaswi kujadiliwa kama moja.
Hatua 2: ufungaji hubadilisha kile firewall inachokiona
ESP ni itifaki ya IP, si bandari ya TCP au UDP, na ubadilishaji wa kawaida wa anwani za bandari hauna uga wa bandari wa kuandika upya. Ndiyo sababu NAT traversal huhamisha mzigo uliolindwa ndani ya UDP 4500: ufungaji humpa kifaa kinachotafsiri kitu ambacho kinajua jinsi ya kukitafsiri. Hilo linapotokea, kanuni ya firewall iliyoandikwa kwa UDP 500 pekee itaruhusu majadiliano na kutupa handaki, jambo linalozalisha matokeo ya kuchanganya ambapo kumbukumbu inaonyesha awamu 1 iliyofanikiwa na hakuna trafiki.
Mabadilishano ya IKE yenyewe yanaweza pia kuhamia UDP 4500 baada ya NAT kutambuliwa, jambo linalowashangaza wale walioruhusu 500 na hakuna kingine. Ruhusu bandari zote mbili katika pande zote mbili kwenye njia, na kumbuka kwamba firewall yenye hali hushikilia mtiririko kwa muda tu inapoona trafiki.
Itifaki 50 bado ni muhimu kwenye njia zisizo na ubadilishaji, na kwenye njia ambapo sanduku la kati limewekwa ili kuiruhusu. Ikiwa unachunguza kwa kuondoa, zima dhana badala ya kuongeza kanuni kwa mkusanyiko: ruhusu 500, 4500 na ESP, thibitisha handaki inapanda, kisha ondoa kile kilichobainika kuwa si lazima. Kanuni ambayo hakuna anayeweza kuieleza ni kanuni ambayo hakuna atakayeiondoa itakapokuwa sababu ya usumbufu unaofuata. Andika upunguzaji katika kumbukumbu ya mabadiliko pamoja na hatua iliyoirekebisha, ili mhandisi anayefuata aanzie kwenye ushahidi wako badala ya kanuni hiyo ya kidole.
Hatua 3: ramani huisha na handaki hufa
Kifaa kinachotafsiri huhifadhi hali kwa mtiririko kinaoupitisha, na hali hiyo ina muda wa maisha. Handaki ya L2TP/IPsec hubeba trafiki kidogo wakati hakuna anayeitumia, kwa hiyo handaki isiyotumika inaweza kuishi zaidi ya ramani yake na kuacha kupokea trafiki ya kurudi. Mteja anaendelea kuamini kuwa ameunganishwa, seva haioni chochote, na dalili ya kwanza kwa kawaida ni muda wa mwisho wa programu na si hitilafu ya VPN.
Utambuzi wa mshirika aliyekufa na keepalive za NAT zipo kwa ajili ya hili, na pande zote mbili lazima ziwe tayari kuzituma. Ikiwa seva yako iko nyuma ya ubadilishaji, sharti la upande wa Windows ni mpangilio wa rejista ulioandikwa unaofanya seva kudhani ufungaji wa UDP kwa pakiti zake za kutoka; bila hiyo anayejibu hutuma ESP ambayo kifaa kinachotafsiri hakiwezi kuirudisha kwenye ramani. Hili ni suala la usanidi wa seva, si la mteja.
Mabadiliko ya anwani ya WAN huzalisha matokeo sawa kutoka upande mwingine: ramani hujengwa upya kuzunguka anwani mpya, na muungano wa usalama wa zamani sasa unaonyesha jozi ambayo haipo tena. Tabia ya kuunganisha upya ni ya utekelezaji wa mteja, na ndiyo sababu «unganisha upya baada ya kipanga njia kuwashwa upya» hufanya kazi kwa mteja mmoja na kwa mwingine kunahitaji kitufe cha mkono.
Upangishaji nyuma ya NAT ya ngazi ya mtoa huduma ni tatizo tofauti
Ikiwa unataka kupangisha seva ya L2TP/IPsec nyumbani na kuifikia kutoka nje, sharti ni ufikikaji wa kuingia usioombwa, na hilo si lile ambalo NAT traversal hutoa. NAT ya ngazi ya mtoa huduma mbele ya kipanga njia chako humaanisha kuwa hakuna bandari unayoweza kuelekeza itakayokufanya ufikike, kwa sababu anwani ya umma inashirikiwa na ramani ni ya kutoka pekee.
Hakuna kisanduku cha IPsec pass-through kinachobadilisha hilo, na hakuna usanidi wa mteja unaolipa fidia. Majibu yanayoungwa mkono ni anwani inayofikika kweli, kituo cha mwisho kilichopangishwa, au usanifu ambapo kila mshiriki hufanya muunganisho wa kutoka. Vipimo vya ufungaji wa UDP hutatua tatizo la ubadilishaji kwa mitiririko iliyopo; haitengenezi njia ya kuingia mahali ambapo mtoa huduma haitoi.
Kwa hiyo linganisha mitandao badala ya kukisia. Chukua kifaa na wasifu sawa kwenda mtandao mwingine unaoruhusiwa na uangalie ni hatua gani inashindwa hapo. Ikiwa inafanya kazi mahali pengine, tofauti iko kwenye njia, na hiyo hupunguza utafutaji kwa hatua tatu zilizo juu badala ya usanidi wote.