VPN-kontrolkanal kontra datakanal: tjek det rigtige lag
En tunnel kan forhandle og stadig ikke bære noget. Tjek, hvilken kanal der fejlede: opsætning af kontrol, databeskyttelse eller ruten og DNS ud over begge.
Klienten siger forbundet, serveren ser en peer, og applikationen kan stadig ikke nå noget. På det punkt er det nyttige spørgsmål ikke, hvilken cipher der skal ændres, men hvilken kanal der fejlede. OpenVPN navngiver to funktioner eksplicit: en kontrolkanal, der forhandler og styrer sessionen, og en datakanal, der bærer den beskyttede trafik. IKEv2 udtrykker en beslægtet opdeling gennem IKE-associeringen og CHILD-associeringen. Kør kontrollerne nedenfor i rækkefølge, fordi en rettelse af datastien anvendt på en fejl i kontrolstien spilder et ændringsvindue.
Navngiv kanalen, før du fejlretter den
Kontrolsiden forhandler sikkerhedsmateriale, autentificerer peers og styrer forbindelsen. Datasiden bærer den valgte trafik, når den nødvendige tilstand findes.
De fejler forskelligt. En kontrolfejl efterlader dig normalt helt uden en brugbar session eller med en session, der forhandler igen i en løkke. En datafejl efterlader en session, der ser sund ud, mens pakker droppes, sendes forkert eller beskyttes med parametre, som den anden side ikke accepterer. Den loglinje, du læser, fortæller, hvilken af de to du er i, så læs etiketten før fejlteksten.
Tjek kontroludvekslingen
Bekræft, at håndtrykket fuldføres, og at begge sider er enige om transporten, TLS-versionen og autentificeringsmetoden. OpenVPN-logfiler udskriver separate linjer for kontrolkanalen og datakanalen, og det er i kontrollinjen, at en uoverensstemmelse i certifikat, TLS-version eller tls-crypt viser sig.
Hvis kontroludvekslingen fejler, så se på den tilgængelige port, certifikatkæden og dens gyldighedsdatoer, systemuret, cipher-overlapningen mellem klient og server og enhver tls-auth- eller tls-crypt-nøgle. En stor certifikatkæde kan også fejle på stiens MTU, før nogen autentificering fuldføres, hvilket ligner en timeout snarere end en kryptografisk fejl.
Ret kontrolfejl med kontrolindstillinger. At hæve datacipheren eller lempe datapolitikken for autentificering fuldfører ikke et håndtryk, der aldrig kom forbi certifikatudvekslingen.
Tjek datakanalen separat
Når sessionen er oppe, skal du bekræfte den forhandlede datacipher og -tilstand, nøgleafledningen og adfærden ved nøglefornyelse. I OpenVPN angiver datakanallinjen den cipher og nøglestørrelse, der faktisk blev initialiseret, og de kan afvige fra den første cipher i profilen.
Tjek derefter, hvad sessionen installerede. Et PUSH_REPLY kan tilføje ruter, en DNS-server og en redirect-gateway-direktiv, og enhver af dem kan sende trafik et sted hen, hvor applikationen ikke kan bruge den. For IKEv2 er det tilsvarende spørgsmål, om CHILD-associeringens selektorer passer til adresserne i den faktiske strøm.
tls-auth og tls-crypt hører til kontrolkanalen. De autentificerer eller krypterer håndtrykket og vælger ikke applikationens datacipher. Hvis du tilføjer en af dem i forventning om en ændring af datastien, er det eneste, du har ændret, håndtrykket.
Knyt navnene til IKEv2 og OpenVPN
IKEv2 har en IKE-sikkerhedsassociering og en eller flere CHILD-associeringer. IKE-associeringen bærer kontroludvekslingerne; CHILD-associeringen bærer den beskyttede trafik og dens selektorer. De forhandles og får fornyet nøgler efter separate tidsplaner, så den ene kan være sund, mens den anden ikke er.
ESP har ikke en kontrolkanal i TLS-stil indeni. Kontrolprotokollen er IKE, og ESP er den beskyttede nyttelast. At kalde ESP datakanalen er en løs forkortelse, der bliver forvirrende, når du læser en pakkefangst, fordi fangsten viser IKE-beskeder og ESP-pakker som forskellige protokoller på ledningen.
Hold koblingen eksplicit i dine noter: OpenVPN-kontrolkanal og IKE SA er styringssiden, OpenVPN-datakanal og CHILD SA er trafiksiden, og implementeringerne er ikke udskiftelige, selv når opdelingen ser ens ud.
Hold op med at ændre den forkerte indstilling
Gå stien i én retning: kontroludveksling, databeskyttelse, videresendelse og derefter navneopløsning. Stop ved det første trin, der fejler, og ret kun det trin. En forbundet session med et fungerende ping til gatewayen, men uden applikationstrafik, er et videresendelses- eller selektorproblem, ikke et håndtryksproblem.
Skriv evidensen for hvert trin separat i sagen: kontrol-loglinjen, de forhandlede dataparametre, de installerede ruter og én rigtig anmodning. Den struktur forhindrer, at et fungerende identitetstjek svækkes for at reparere et senere ruteproblem, som det aldrig forårsagede, og den forhindrer, at en ændring af datacipheren sælges som en rettelse af en certifikatfejl.
OpenVPN-protokoldokumentationen er reference for opdelingen mellem kontrol og data; brug den, når en leverandørs brugergrænseflade bruger andre ord for de samme to funktioner.