IKE säger att tunneln är uppe, att den underordnade SA:n saknas, och båda påståendena kan vara sanna samtidigt. En etablerad kontrollrelation är inte en dataassociation, och de två objekten har separata livstider, förhandlingar och fellägen. Att rapportera det första som anslutning är hur ett ärende till slut hävdar att tunneln är uppe medan ingenting fungerar. Läs associationslistan i stället för anslutningens sammanfattningsetikett, eftersom den listan är den enda platsen där det saknade objektet syns. Det som följer är den ordning i vilken listan blir begriplig.

Två associationer, två jobb

En IKE-SA bär kontrollkanalen: identiteter, nycklar och förslagen för själva kontrollutbytet. En underordnad SA bär ESP-skyddet, med egna algoritmer och egna trafikväljare. Autentisering och skapandet av den underordnade SA:n går vanligtvis ihop, eftersom den första underordnade SA:n förhandlas inne i IKE_AUTH, och just den sammanfogningen överraskar folk med uppdelningen.

Det förklarar också de två fellägen du kommer att möta. En underordnad SA som avvisas under det inledande utbytet drar vanligtvis med sig IKE-SA:n ned, så du ser ingen etablerad kontrollkanal alls. En IKE-SA som står ensam betyder oftare att den första underordnade SA:n lyckades och att ett senare försök att skapa en underordnad SA misslyckades, till exempel vid en nyckelrotation. Tidsstämplar skiljer de fallen snabbare än någon genomgång av konfigurationen.

Vilket lager avvisade

När en underordnad SA avvisas namnger aviseringen lagret. En avvisning av förslaget betyder att parterna inte kunde enas om algoritmer, ofta därför att den ena kräver en annan grupp för perfekt framåtsekretess eller ett chiffer som den andra inte accepterar. En avvisning av väljaren betyder att trafikmängden avvisades direkt, och det är ett täckningsargument, inte ett kryptografiskt.

Ibland är avsaknaden av en underordnad SA själva designen. En IKE-SA utan underordnad SA är en definierad utökning som används där dataassociationen ska skapas på begäran, så avsaknaden är korrekt och den underordnade SA:n dyker upp när matchande trafik anländer. strongSwans anteckningar om IKEv2 täcker både stilen på begäran och de förslagsinställningar som avgör det första fallet.

Kontrollera om det finns en konfiguration på begäran eller en fälla innan du diagnostiserar ett fel. Om underordnade SA skapas lättjefullt är ingen underordnad SA i vila det förväntade tillståndet, och det egentliga provet är om trafik reser en. Det provet skiljer också en lättjefull design från ett tyst fel, eftersom en misslyckad skapelse lämnar utlösaren obesvarad i stället för bara i vila.

Fråga sedan om datavägen

När en underordnad SA finns svarar räknarna på nästa fråga. ip -s xfrm state rapporterar paket- och bytantalen per association, och en underordnad SA som inte bär något medan du genererar trafik pekar på matchning eller routning i stället för mot en saknad association. swanctl --list-sas skriver ut den underordnade SA:ns väljare bredvid dessa räknare, och det bekräftar att paketet ligger inom den accepterade mängden.

Håll den lyckade autentiseringen och det misslyckade utbytet av den underordnade SA:n åtskilda i rapporten. En rapport som säger att autentiseringen misslyckades skickar nästa ingenjör till certifikatlagret, och den exakta meningen är mycket kortare: IKE-SA:n kom upp, och den underordnade SA:n för detta flöde accepterades aldrig.

Korrelera de två ändarna

För en server som du själv driver hämtar du klient- och gateway-loggarna för samma utbyte i stället för att jämföra två återanslutningsförsök en timme isär. Aviseringarna bör stämma på båda sidor, och där de inte gör det har du hittat sidan som är felkonfigurerad.

Rätta förhandlingen av den underordnade SA:n och testa sedan igen med trafik inom den avsedda väljaren. Det är det enda prov som bevisar att det saknade objektet nu finns, eftersom en associationslista som uppdateras i vila kan se identisk ut före och efter rättelsen.

Relaterade artiklar