VPN-besturingskanaal versus datakanaal: controleer de juiste laag
Een tunnel kan onderhandelen en toch niets vervoeren. Controleer welk kanaal faalde: de besturingsopzet, de gegevensbescherming of de route en DNS voorbij beide.
De client zegt verbonden, de server ziet een peer, en de toepassing bereikt nog steeds niets. Op dat punt is de nuttige vraag niet welke cipher je moet wijzigen, maar welk kanaal faalde. OpenVPN benoemt twee functies expliciet: een besturingskanaal dat de sessie onderhandelt en beheert, en een datakanaal dat het beschermde verkeer draagt. IKEv2 drukt een verwante splitsing uit via de IKE-associatie en de CHILD-associatie. Werk de controles hieronder in volgorde af, want een correctie van het datapad die op een fout in het besturingspad wordt toegepast, verspilt een wijzigingsvenster.
Benoem het kanaal voordat je het debugt
De besturingszijde onderhandelt over beveiligingsmateriaal, authenticeert peers en beheert de verbinding. De datakant draagt het gekozen verkeer zodra de benodigde toestand bestaat.
Ze falen anders. Een besturingsfout laat je meestal helemaal zonder bruikbare sessie achter, of met een sessie die in een lus opnieuw onderhandelt. Een datafout laat een sessie achter die gezond lijkt terwijl pakketten worden weggegooid, verkeerd gerouteerd of beschermd met parameters die de andere kant niet accepteert. De logregel die je leest zegt in welk van de twee je zit, dus lees het label voor de fouttekst.
Controleer de besturingsuitwisseling
Bevestig dat de handshake voltooid wordt en dat beide kanten het eens zijn over het transport, de TLS-versie en de authenticatiemethode. OpenVPN-logs drukken aparte regels af voor het besturingskanaal en het datakanaal, en het is in de besturingsregel dat een afwijking in certificaat, TLS-versie of tls-crypt verschijnt.
Als de besturingsuitwisseling mislukt, kijk dan naar de bereikbare poort, de certificaatketen en de geldigheidsdatums, de systeemklok, de overlap van cijfers tussen client en server en elke tls-auth- of tls-crypt-sleutel. Een grote certificaatketen kan ook mislukken op de MTU van het pad voordat enige authenticatie voltooid is, wat op een time-out lijkt en niet op een cryptografische fout.
Los besturingsfouten op met besturingsinstellingen. Het verhogen van de datacipher of het versoepelen van het data-authenticatiebeleid voltooit geen handshake die nooit voorbij de certificaatafwisseling kwam.
Controleer het datakanaal apart
Zodra de sessie staat, bevestig je de onderhandelde datacipher en -modus, de sleutelafleiding en het gedrag bij sleutelvernieuwing. Bij OpenVPN noemt de datakanaalregel de cipher en sleutelgrootte die daadwerkelijk zijn geïnitialiseerd, en die kunnen afwijken van de eerste cipher in het profiel.
Controleer dan wat de sessie heeft geïnstalleerd. Een PUSH_REPLY kan routes, een DNS-server en een redirect-gateway-richtlijn toevoegen, en elk daarvan kan verkeer sturen naar een plek waar de toepassing het niet kan gebruiken. Voor IKEv2 is de gelijkwaardige vraag of de selectors van de CHILD-associatie passen bij de adressen in de werkelijke stroom.
tls-auth en tls-crypt horen bij het besturingskanaal. Ze authenticeren of versleutelen de handshake en kiezen niet de datacipher van de toepassing. Als je een van beide toevoegt in de verwachting van een wijziging aan het datapad, is het enige dat je hebt gewijzigd de handshake.
Koppel de namen aan IKEv2 en OpenVPN
IKEv2 heeft een IKE-beveiligingsassociatie en een of meer CHILD-associaties. De IKE-associatie draagt de besturingsuitwisselingen; de CHILD-associatie draagt het beschermde verkeer en de selectors. Ze worden volgens aparte schema's onderhandeld en van nieuwe sleutels voorzien, dus de ene kan gezond zijn terwijl de andere dat niet is.
ESP heeft van binnen geen besturingskanaal in TLS-stijl. Het besturingsprotocol is IKE, en ESP is de beschermde lading. ESP het datakanaal noemen is een losse afkorting die verwarrend wordt wanneer je een pakketopname leest, omdat de opname IKE-berichten en ESP-pakketten als verschillende protocollen op de lijn toont.
Houd de koppeling expliciet in je notities: OpenVPN-besturingskanaal en IKE SA zijn de beheerkant, OpenVPN-datakanaal en CHILD SA zijn de verkeerskant, en de implementaties zijn niet uitwisselbaar zelfs wanneer de splitsing er hetzelfde uitziet.
Stop met het wijzigen van de verkeerde instelling
Loop het pad in één richting: besturingsuitwisseling, gegevensbescherming, doorsturen en dan naamresolutie. Stop bij de eerste fase die faalt en herstel alleen die fase. Een verbonden sessie met een werkende ping naar de gateway maar zonder toepassingsverkeer is een doorstuur- of selectorprobleem, geen handshakeprobleem.
Schrijf het bewijs voor elke fase apart in het ticket: de besturingslogregel, de onderhandelde dataparameters, de geïnstalleerde routes en één echt verzoek. Die structuur voorkomt dat een werkende identiteitscontrole wordt verzwakt om een later routeringsprobleem te repareren dat zij nooit veroorzaakte, en ze voorkomt dat een wijziging van de datacipher wordt verkocht als oplossing voor een certificaatfout.
De OpenVPN-protocoldocumentatie is de referentie voor de splitsing tussen besturing en data; gebruik haar wanneer de interface van een leverancier andere woorden gebruikt voor dezelfde twee functies.