OpenVPN-profilens flyttbarhet: flyttbare nøkler kontra plattformvalg
En .ovpn-fil blander flyttbart identitetsmateriale med direktiver som bare én klient forstår. Sammenlign de to før du gir sertifikatet skylden for en feil.
Den samme .ovpn-filen åpner en tunnel i én klient og starter ikke i en annen, og sertifikatet er vanligvis den første mistenkte. Oftere inneholder filen et direktiv som bare én motor implementerer. En profil er en kontrakt med en bestemt klient, ikke et flyttbart skript.
Skill det som reiser med identiteten, fra det som hører til en plattform. Da navngir feilen seg vanligvis selv.
Én fil, to kontrakter
En profil samler tre slags innhold: identitetsmateriale som CA- og klientsertifikater og den private nøkkelen, transportopplysninger som endepunktet og protokollen, og atferdsdirektiver som DNS-håndtering eller enhetsvalg. De to første er bredt flyttbare mellom motorer som støtter samme protokoll. Den tredje er der implementasjonene går fra hverandre. Å behandle hele filen som én flyttbar enhet er det som skaper de forvirrende feilene.
En fil som virker i en GUI på én plattform er ikke automatisk gyldig for kommandolinjeklienten på en annen. Selv når begge er OpenVPN, er parserne og valgsettet forskjellige. Derfor er en vellykket import ikke bevis på en flyttbar profil.
Flyttbart materiale kontra plattformdirektiver
Identitets- og transportdelene er den delen som skal bevares. ca, cert, key og remote beskriver hvem som kobler til og hvor, og de betyr det samme for enhver konform klient.
Atferdsdirektiver er den delen som skal sammenlignes. block-outside-dns finnes for eksempel for å endre DNS-atferden i Windows. En Unix-klient kjenner den kanskje ikke igjen i det hele tatt.
Les valglisten til den mottakende klienten i stedet for den sendende. OpenVPN 2.6-referansehåndboken dokumenterer motorens valg, og importdialogen i en GUI er ikke den listen.
Les parserfeilen før sertifikatet
En feil som navngir et ukjent valg er en parserfeil, ikke en autentiseringsfeil. Tilkoblingen nådde aldri TLS, så det hjelper ikke å bytte sertifikat. Les den første feilen fra den faktiske klienten og versjonen, og fjern eller erstatt deretter bare det direktivet klienten ikke kan implementere. Å slette sertifikat- eller rutedeler for å få filen til å lastes er måten en fungerende profil blir usikker.
Hvis feilen nevner håndtrykket, et sertifikat eller en chiffer, ble profilen parset, og problemet ligger et annet sted.
Ta vare på originalfilen ved siden av den tilpassede. Når den tilpassede filen senere feiler, er originalen kontrollen som forteller om endringen eller miljøet flyttet seg.
Privilegier er en annen grense
Privilegier er den andre grensen: å opprette en tunnel-enhet, installere ruter og lese en privat nøkkel avhenger alle av lokale tillatelser. En nøkkelfil som bare root kan lese, er en normal utrulling, ikke en profilfeil. Rettelsen hører til eierskap eller kapabiliteter, ikke i filen.
Å kjøre klienten med sudo kan løse en lokal tilgangsnekt, og det kan ikke legge til et direktiv som binærfilen ikke implementerer. Det endrer også hvilken nøkkelring, hvilke konfigurasjonsstier og hvilken nettverksbehandlerkontekst som gjelder, så resultatet er ikke den samme testen.
Tilpass med vilje
Når en leverandør publiserer separate profiler, ta den som er ment for den mottakende klienten. Å tilpasse en annen plattforms fil er en siste utvei. Det krever en oversikt over hvert endret valg og en kopi av originalen.
Test identitet, ruting og DNS som tre separate resultater. En profil som autentiserer og ruter, men bryter navneoppslag, er en delvis tilpasset profil, ikke en fungerende.