Adresas, kuris guli nenaudojamas organizacijos paskirstyme, nėra klausytojas, o jo pridėjimas prie ugniasienės nesukuria nė vieno. Kažkas turi užbaigti IKE šiame adrese, o mechanizmas skiriasi priklausomai nuo to, ar vartai patys turi adresą, ar jį verčia aukštesnis įrenginys. Būtent paketo kelias išskiria abu atvejus, ir jis nusprendžia, kurios platformos funkcijos jums reikia, kol kas nors neatidaro pakeitimo prašymo. Pirmiausia sumodeliuokite kelią, tada rinkitės.

Paketo kelias už adreso

Partneris siunčia IKE į jam duotą adresą, UDP 500 arba UDP 4500, kai dalyvauja NAT perėjimas. Bet kuris įrenginys, laikantis tą adresą kelyje, arba priima datagramą vietoje ir į jį atsako, arba persiunčia jį kitur. Tai tik dvi galimybės, o visa kita šiame straipsnyje kyla iš to, kuri yra teisinga.

Priėmimas vietoje reiškia, kad tame įrenginyje yra lizdas, susietas su tuo adresu. Persiuntimas reiškia, kad datagrama perrašoma ir siunčiama toliau į kitą galinį tašką, kuris tada turi lizdą. Ugniasienės taisyklė, leidžianti UDP 500, nieko nepasako apie tai, kuris iš dviejų vyksta.

Užrašykite įrašą prieš ką nors liesdami: adresą, su kuriuo jungiasi partneriai, kaip jį pristato aukštesnis tinklas, vietinę sąsają ar loginį galinį tašką, kuris jį priima, ir procesą, kuris atsako į IKE. Keturių eilučių pakanka, ir kiekvieną galima patikrinti. Kai vienas iš jų nežinomas, tas nežinomasis yra projektavimo darbas, o ne vėliau sprendžiama įgyvendinimo detalė. Jų užpildymas po pakeitimo prašymo patvirtinimo yra būdas, kuriuo vertimo taisyklė atsiduria ne tame įrenginyje.

Modelis A: vartai turi adresą

Pirmajame modelyje vartai patys laiko adresą: kaip antrinį adresą esamoje sąsajoje, kaip adresą skirtojoje sąsajoje arba kaip loopback, kurį platforma palaiko kaip tunelio galinį tašką. Tai trys skirtingos funkcijos su trimis skirtingais konfigūravimo keliais, o platforma, palaikanti vieną, gali nepalaikyti kitų.

Prieš projektuodami pagal tai patvirtinkite, kad platforma ir leidimas palaiko būtent tokį išdėstymą. Maršrutizuotas blokas, papildomas adresas sąsajoje ir loopback galinis taškas nėra keičiami, o vieno leidimo dokumentacija nežada, kad kitas elgsis taip pat.

ip -br addr show
ss -lunp | grep -E ':500|:4500'
sudo tcpdump -ni eth0 'udp port 500 or udp port 4500'

Klausantis lizdas yra įrodymas. Jei prie adreso nieko nėra susieta, vartai nėra užbaigėjas, kad ir ką sakytų maršrutizavimo lentelė, o paketų fiksavimas parodys atvykstančias datagramas, į kurias niekas neatsako.

Nedėkite antros sąsajos į potinklį, kuris jau egzistuoja kitur topologijoje, ir nesitikėkite, kad platforma tai sutvarkys. Persidengiantys sąsajų potinkliai sukelia dviprasmį šaltinio pasirinkimą, o daugelyje platformų – visišką atsisakymą konfigūruoti.

Modelis B: aukštesnis įrenginys jį verčia

Antrajame modelyje aukštesnė ugniasienė turi skirtąjį adresą ir persiunčia srautą kitiems VPN vartams. Tai paskirties vertimas su grįžtamuoju keliu, ir tai visiškai pagrįstas sprendimas, kol jis taip dokumentuojamas.

Tai, kas jis nėra, yra įrodymas, kad aukštesnis įrenginys įgijo vietinį VPN lizdą. Vertimas persiunčia paketus; jis nepaverčia viršutinės dėžės IKE atsakikliu. Jei aukštesnė taisyklė pašalinama arba nutrūksta jos grįžtamasis kelias, VPN sustoja, nors vartai sveiki ir jų pačių klausytojai nepažeisti.

Užrašykite abu adresus: tą, su kuriuo jungiasi partneriai, ir tą, kurį vartai iš tikrųjų mato. Tada užrašykite transportą ir grįžtamąjį kelią, nes vertimas, veikiantis UDP 500, bet ne kapsuliuotam ESP, prisijungs ir tada negalės perduoti srauto, o tai yra painus gedimas, kurį vėliau sunku derinti.

Tapatybė nėra išorinis adresas

IPsec atskiria tunelio galinį tašką nuo srauto, kurį saugo, ir architektūra laiko šiuos sprendimus skirtingose vietose. Pakeitus adresą, su kuriuo jungiasi partneriai, automatiškai nesikeičia, kurie vidiniai prefiksai leidžiami, kurie maršrutai įdiegiami ar kuriuos išteklius sesija gali pasiekti.

Autentifikuota tapatybė vėl atskira. IKEv2 neša tapatybės naudingąją apkrovą ir autentifikavimo mainus, kuriems nereikia atitikti išorinio paketo adreso, ir būtent todėl išverstas sprendimas vis dar gali teisingai autentifikuotis.

Tas nepriklausomumas naudingas ir kartu spąstai. Du DNS vardai, susiejami su vienu įprastu klausytoju, neparenka skirtingų VPN foninių sistemų, o sertifikatas, įvardijantis vieną tapatybę, netenkins partnerio, kuris laukia kitos. Patvirtinkite, ką partneris tikrina, prieš manydami, kad tai lemia vien adresas.

Priimkite sprendimą stebėdami vieną ryšį

Patikrinkite, kur iš tikrųjų pristatomas naujas leidžiamas ryšys, kuri tapatybė atsako ir kuris privatus srautas tada leidžiamas. Trys stebėjimai, trys skirtingi sluoksniai, o sėkminga viešoji adreso užklausa netikrina nė vieno iš jų.

Išsaugokite ir neigiamą atvejį: partnerį, kuris neturėtų būti priimtas, arba vidinį prefiksą, kuris neturėtų būti pasiekiamas, patikrintą po pakeitimo. Pradžioje užrašytas įrašas yra tai, kas leidžia tą testą atlikti neatkuriant sprendimo iš atminties.

Viso to esmė – leisti tinklo savininkui pasirinkti palaikomą paskirstymo metodą, užuot pasikliaujant bendru teiginiu apie tai, ką kiekviena ugniasienė gali padaryti su papildomu adresu. Būtent tas teiginys yra vieta, kur šie sprendimai sugenda, nes jis skamba įtikinamai kiekvienoje platformoje ir paprastai nė vienoje nėra teisingas. Keturių eilučių įrašas tai išsprendžia jūsų platformai per dešimt minučių.

Susiję straipsniai