Unul sus, zero conectând: ce numără acea linie strongSwan
Titlul vechi numără asocieri IKE, nu subrețele sau SA copil, așa că citiți mai întâi definițiile încărcate și copiii instalați.
Citiți o linie de stare care spune Security Associations (1 up, 0 connecting) și pare un raport despre un singur tunel care funcționează. Două subrețele trec trafic prin el în același timp, așa că numărul pare să mintă. Nu minte; numără asocieri IKE, iar una dintre ele poate găzdui mai mulți copii. Citiți inventarele înainte de a atinge o propunere sau o rută.
De ce titlul și traficul nu se potrivesc
Ieșirea veche stroke își numește totalul asocieri de securitate și îl derivă din managerul de asocieri IKE. Fiecare asociere IKE stabilită contribuie cu una, indiferent câte CHILD SA stau dedesubt. Un singur părinte IKEv2 poartă de obicei mai mulți copii, unul pentru fiecare pereche de selectori de trafic, iar selectorii negociați ai unui copil pot acoperi mai mult de o adresă sau un prefix. Prin urmare, numărul de adrese din configurația dumneavoastră nu are o relație fixă cu numărul din titlu.
Ieșirea modernă arată uneori un total în locul formulării vechi “up”, iar un daemon administrat de swanctl nu este deloc condus de setările vechi stroke. Nu luați de bună nici formularea, nici regula de numărare între versiuni.
Comparați trei inventare înainte de a schimba ceva
Începeți cu ce este încărcat, apoi cu ce este negociat, apoi cu ce mișcă într-adevăr pachete. Sunt trei întrebări diferite și fiecare are propria comandă.
swanctl --list-conns
swanctl --list-sas
Prima listează definițiile de conexiune pe care daemonul le-a acceptat. A doua listează asocierile IKE stabilite cu copiii lor, și acolo apare ierarhia reală. O definiție prezentă într-un fișier dar absentă din prima listă nu a fost niciodată încărcată, și niciun număr de reîncercări ale inițiatorului nu o repară. Dacă rulați în schimb interfața veche, perechea echivalentă este ipsec statusall și aceeași listă swanctl, în funcție de ce plugin deține configurația. Nu amestecați unelte între doi daemoni de pe același host și nu așteptați un singur răspuns coerent.
swanctl --list-sas --raw | head -40
ip -s xfrm state
Forma brută ține identificatorii și selectorii vizibili pentru comparație, iar lista stării nucleului arată ce crede stiva că a instalat. Când daemonul și nucleul nu sunt de acord, fie daemonul a fost repornit în jurul unui copil existent, fie obiectul nucleului a fost eliminat de sub el.
Citiți ierarhia, nu totalul
Un părinte stabilit ilustrativ cu doi copii arată ca un singur nod cu doi copii dedesubt, fiecare etichetat cu starea și modul propriu. Descărcați ieșirea reală și numărați copiii dumneavoastră în loc să citiți un rezumat pe care cineva l-a lipit dintr-un panou.
swanctl --list-sas
swanctl --list-conns --raw | grep -A4 'accounting'
Un părinte cu doi copii instalați este un tunel sănătos cu două subrețele. Un părinte cu un copil instalat și unul absent este o altă situație, iar selectorii copilului lipsă sunt ceea ce trebuie comparat cu propunerea părții îndepărtate. În timpul reînnoirii cheilor, un copil vechi și înlocuitorul său pot apărea împreună pentru o fereastră scurtă. Păstrați marca de timp împreună cu instantaneul, pentru că o numărătoare luată la mijlocul reînnoirii pare duplicare, iar una luată după pare pierdere.
Încărcat, instalat și trafic care trece
Un copil în stare instalată are parametri negociați și o intrare în nucleu. Dar nu neapărat a transportat un pachet: selectorii pot fi mai înguști decât traficul așteptat, iar o rută poate trimite acel trafic în altă parte înainte ca tunelul să îl vadă. Trimiteți un flux care corespunde selectorilor negociați dintr-un host autorizat, apoi citiți contoarele copilului în locul titlului. Un contor care rămâne la zero în timp ce generați trafic corespunzător indică rutarea sau politica, nu IKE.
swanctl --initiate --child accounting
swanctl --list-sas --raw | grep -E 'bytes|packets'
Pornirea unui copil numit este o acțiune deliberată cu un rezultat vizibil, și separă “conexiunea este inactivă pentru că nimeni nu a cerut-o” de “conexiunea nu poate urca”. O politică de capcană la cerere se comportă exact ca primul caz, așa că citiți setarea de pornire a conexiunii înainte de a o numi defecțiune.
Când numărătoarea este cu adevărat greșită
Dacă o definiție lipsește din inventarul încărcat, uitați-vă la încărcarea configurației și la ce instanță a daemonului rulează. Dacă este încărcată dar nu negociază niciodată, comparați propuneri, contextul de autentificare și selectorii cu partenerul, un copil pe rând. Schimbați un singur element pe încercare și notați identificatorul pe care l-ați schimbat. Revenirea asupra unei propuneri este trivială când știți care este; este o presupunere după trei modificări care nu au fost niciodată separate.
Corectați mai întâi citirea greșită. Majoritatea rapoartelor despre un al doilea tunel “lipsă” se termină cu doi copii instalați sub un singur părinte, iar singurul lucru care a fost vreodată stricat a fost linia de rezumat în care oamenii aveau încredere în locul ierarhiei.