Trafikväljare namnger den inre trafik som ett IPsec-avtal skyddar, och paret förhandlas i stället för att antas. Två ändpunkter kan autentisera varandra perfekt och ändå vara oense om vilka paket som hör till insidan av tunneln. Den oenigheten syns inte i anslutningsstatusen, som vanligtvis rapporterar en frisk tunnel. Att läsa väljarna från båda ändar och sedan följa en destination hittar den snabbare än någon mängd policyredigering.

Läs dem från båda ändar

Varje ändpunkt beskriver sin egen sida som lokal och den andra sidan som avlägsen. Samma par av prefix visas därför omkastat i de två konfigurationerna, och det är korrekt och inte motsägelsefullt. Att vända perspektivet är det första att göra när ett fungerande avtal ser fel ut på papperet. Att jämföra två filer sida vid sida utan att byta plats på dem ger en avvikelse som inte finns.

Värdena är inte alltid enskilda subnät. IKEv2-väljare kan bära adressintervall, protokollnummer och portintervall, och det är så en policy skyddar en tjänst i stället för ett helt nätverk. En väljare som är smalare än den avsedda trafiken ger en tunnel som bär vissa destinationer och tyst utesluter andra.

Skriv båda sidorna i en enda tabell innan du ändrar något. Övningen avgör vanligtvis frågan utan att röra en konfigurationsfil.

Avsmalningen är svararens beslut

En initiator föreslår, och svararen får bara acceptera en delmängd. IKEv2 låter svararen smalna av de erbjudna trafikväljarna, och det avsmalnade resultatet är det som faktiskt installeras. Att läsa initiatorns konfiguration beskriver därför ett erbjudande, inte avtalet.

Det är därför ett subnät som läggs till klienten kan ge en fungerande tunnel som ändå avvisar den nya destinationen. Servern smalnade av erbjudandet till vad dess policy tillåter, medan klientens fil fortfarande listar det bredare intervallet. Bara det förhandlade tillståndet visar sanningen: på Linux rapporterar ip xfrm policy och child SA-listan i strongSwans IKEv2-dokumentation vad som installerades och inte vad som begärdes. När de två är oense är det svararens policy som måste ändras.

Ett avvisat erbjudande är ett annat symptom än ett avsmalnat. Avvisning syns i förhandlingsloggen och lämnar ingen child-association alls.

Följ en destination från början till slut

Välj en verklig destination plus källadressen som klienten skulle använda för den, och följ sedan paret genom tre oberoende beslut. Rutten väljer en väg, väljaren avgör om den vägen är skyddad, och brandväggen avgör om paketet är tillåtet. Var och en kan misslyckas på egen hand, och en bred väljare reparerar ingen av de andra.

ip route get 10.20.30.41
ip xfrm policy list
swanctl --list-sas

Rutfrågan namnger gränssnittet och källadressen som skulle bära paketet. Policylistan visar om det finns en matchande tunnelpolicy för paret, inklusive riktning och nivå. SA-listan visar de förhandlade child-väljarna tillsammans med räknare, så en child-association med noll paket efter ett trafikförsök är signaturen för väljare som utesluter det som skickas. Tre kommandon, tre olika svar, och bara ett av dem förklarar ett tyst tapp.

Om child-räknarna rör sig medan programmet fortfarande misslyckas ligger problemet bortom tunneln. Det flyttar utredningen till den avlägsna värden lyssnare eller brandvägg och inte till väljarna.

Håll de två målen åtskilda

Att skydda ett kontorssubnät och att skicka all surfning genom en avlägsen utgång är olika krav med olika väljare. En profil byggd för det ena passar sällan för det andra, och att blanda dem ger antingen en läcka eller en trasig delning. Att bredda det skyddade intervallet innebär att ändra båda ändpunkterna och deras vidarebefordringspolicy, eftersom en ensidig ändring blir ett avvisat erbjudande. Det är det vanligaste sättet en fungerande tunnel slutar fungera efter en liten ändring.

Väljare beskriver kryptografisk täckning, rutter väljer vägar, och program genomför sina egna tillstånd. En tunnel som täcker allt kan fortfarande inte nå en tjänst bunden till loopback, och en rutt in i tunneln behöver fortfarande en väljare som omfattar destinationen. Kontrollera alla tre mot samma testbegäran, och avvikelsen namnger sig själv.

Relaterade artiklar