IKE SA stabilit, CHILD SA lipsește: unde se opresc datele
Un IKE SA stabilit nu înseamnă că datele curg. Citiți intrările child, verificați selectorii și contoarele și numiți stratul care a eșuat de fapt.
Clientul spune că s-a autentificat, starea IKE arată sănătoasă, iar contoarele de pachete rămân la zero. Această combinație nu este o contradicție: IKEv2 ține separată o relație de control și o relație de date, iar prima poate reuși în timp ce a doua nu apare niciodată. Părintele duce negocierea; copilul duce traficul. Citiți cele două straturi separat înainte de a declara tunelul căzut.
Ce fac cele două SA
IKE SA este relația de control: autentifică părțile și transportă schimburile care negociază, înlocuiesc și elimină protecția. Nu transportă niciodată pachetele aplicației tale. Un părinte sănătos dovedește așadar doar că cele două capete se pot înțelege asupra politicii de securitate, și nimic mai mult.
O CHILD SA este relația de date, creată sub părinte, cu selectori de trafic și material de cheie pentru un singur set protejat. Este direcțională, așa că ieșirea de stare listează o asociere de intrare și una de ieșire cu identificatori separați și, de obicei, contoare separate pentru fiecare direcție. Această pereche este motivul pentru care o direcție poate funcționa în timp ce cealaltă cade și pentru care expresia tunelul este sus nu spune nimic despre trafic. Un părinte poate ține și mai mulți copii, și astfel o singură etichetă de conexiune îl ascunde pe cel de care ai nevoie.
Citiți intrările copilului, nu eticheta conexiunii
Deschideți împreună starea părintelui și lista copiilor și găsiți copilul ai cărui selectori corespund fluxului pe care îl testați. Notați selectorii de trafic, algoritmii negociați, durata de viață și contoarele în ambele direcții. Dacă există mai mulți copii, potriviți după selectori, nu după poziție, pentru că poziția se schimbă după o reînnoire de cheie. Scrieți identificatorii înainte de a schimba ceva.
Dacă părintele listează un alt set de trafic decât cel pe care îl testați, citiți copilul greșit. Aceasta este o problemă de selectori, nu un tunel stricat.
Înregistrați și marcajele de timp. O reînnoire de cheie poate înlocui un strat în timp ce celălalt rămâne stabilit, iar un copil care pare nou poate fi înlocuitorul celui pe care îl urmăreați. Comparați identificatorii înainte de a concluziona că un copil a dispărut.
Când nu există niciun copil
Autentificarea poate reuși în timp ce propunerea de date sau selectorii eșuează, iar părintele rămâne fără niciun copil. Cauza obișnuită este o nepotrivire de algoritmi sau o nepotrivire a selectorilor de trafic, iar ambele părți înregistrează propunerea refuzată. Citiți ambele capete, pentru că partea la care ajungeți poate arăta doar refuzul. Remediați nepotrivirea în loc să reporniți părintele, care repetă aceeași negociere eșuată și adaugă o cădere la dovezi.
Un părinte care se re-stabilește continuu este o altă defecțiune decât un părinte care stă sus fără copil. În al doilea caz, jurnalele numesc propunerea refuzată, așa că adunați acea propunere de la ambele capete înainte de a edita o politică.
Când copilul există, dar contoarele rămân la zero
Trimiteți o cerere nouă care corespunde selectorilor copilului. O cerere către o destinație din afara acelei politici nu va mișca contoarele, oricât de reușită ar părea.
Verificați ruta care ar trebui să împingă fluxul în tunel, pentru că un copil fără trafic este adesea un copil către care nu se rutează nimic. Contoarele care se mișcă doar într-o direcție indică o nepotrivire de selectori sau de politică pe calea de întoarcere. Uitați-vă la selectorii de retur ai partenerului îndepărtat înainte de a atinge partea locală. O cerere nouă vă dă și un marcaj de timp pentru a-l corela cu ieșirea de stare a ambelor capete.
Numiți stratul în raport
Raportați defecțiunea ca trei câmpuri, nu ca verdict: stratul care a eșuat, schimbul sau copilul pe care l-ați inspectat și dovada pe care o aveți. Stratul este unul din trei: părintele nu s-a stabilit niciodată, negocierea copilului a fost refuzată sau există un copil și traficul nu ajunge la el. Dovada este identificatorul copilului cu selectorii și contoarele sale sau propunerea refuzată citată din ambele jurnale. Oricine citește asta poate merge direct la schimbul care contează, în loc să întrebe la ce VPN vă referiți.
documentația strongSwan pentru IKEv2 arată cum apar aceste straturi în ieșirea de stare. Atașați ieșirea copilului pe care l-ați testat, nu doar rezumatul părintelui.