Hva en .ovpn-fil faktisk inneholder, og hva den ikke kan gjøre
En .ovpn-fil konfigurerer klienten din, ikke serveren. Se hva transport-, nøkkel- og rutelinjene kan gjøre, og hvor innflytelsen deres stopper.
De fleste antar at en .ovpn-fil konfigurerer en VPN. Det gjør den ikke: den konfigurerer én klient, og alt den ber om, må allerede finnes på den andre siden. Å endre en linje i filen kan endre hva maskinen din prøver, aldri hva serveren tilbyr. Den forskjellen forklarer det meste av forvirringen rundt profiler som ikke kan importeres eller kobles til.
Les filen som en liste med forespørsler rettet mot klienten din, og de fleste av linjene blir åpenbare.
Filen beskriver klienten din, ikke serveren
En profil samler et remote-endepunkt, en transport, en grensesnitttype, identitetsmateriale og enhver klientatferd operatøren ønsker. Hver linje utføres av klienten ved oppstart. Ingen av dem når serveren som en konfigurasjonsendring, og ingen kan opprette en lytter som ikke allerede kjører. En profil som angir TCP 443 mot en server som bare lytter på UDP 1194 feiler ved den første pakken.
Det er også derfor samme fil oppfører seg forskjellig på to klienter: filen spør, og klienten avgjør hvor mye av forespørselen den kan etterkomme.
Transportlinjer må samsvare med en lytter som allerede finnes
proto og remote linjer må stemme med det serveren faktisk binder. UDP er det vanlige valget fordi et tapt datagram ikke stopper tunnelen, mens TCP kan overleve restriktive nettverk på bekostning av blokkering i køhodet inne i tunnelen. Å bytte en profil fra UDP til TCP får ikke serveren til å godta TCP; det får bare klienten til å sende til en port ingen leser.
Port 443 er populær fordi den passerer nettverk som knapt tillater noe annet, og den forblir en OpenVPN økt i stedet for en HTTPS-forespørsel. Hvis operatøren publiserer flere remote linjer, prøver klienten dem i rekkefølge, noe som er en failover-liste og ikke en beslutning om lastbalansering. Behold kombinasjonene operatøren leverte i stedet for å blande en vert fra én oppføring med en port fra en annen.
Innebygde nøkler endrer hvordan du håndterer filen
Sertifikater og nøkler kan stå innebygd mellom <ca>, <cert> og <key>-tagger, eller refereres til som separate filer. Innebygd materiale gjør profilen selvforsynt og gjør den også til en hemmelighet, fordi klientens private nøkkel reiser inni den. Et CA-sertifikat er offentlig tillitsmateriale og er trygt å dele; en privat nøkkel er det ikke, selv når den ser ut som en uleselig tekstblokk.
Passfrasen som beskytter en nøkkel, er en egen hemmelighet fra kontopassordet, og å blande dem gir en autentiseringsfeil som ser ut som feil påloggingsdetaljer.
Ruter og DNS kommer kanskje ikke fra filen i det hele tatt
Ruting kan dyttes av serveren, settes av profilen med redirect-gateway, eller overlates til klientens egne standardverdier. Filen du lastet ned bestemmer derfor ikke fullt ut hvor trafikken går etter at tunnelen er oppe. Når interne navn løses opp og offentlige nettsteder ikke, gjør policyen for delt tunnel det den er laget for, og feiler ikke.
DNS følger samme mønster: en dyttet dhcp-option DNS kan brukes av klienten, ignoreres eller overstyres av en lokal resolver-behandler. Sjekk resolverens tilstand etter tilkobling i stedet for å lese profilen på nytt.
Ikke-støttede alternativer er et spørsmål om klientversjon
Importadvarsler betyr vanligvis at klienten ikke implementerer et direktiv, ikke at filen er ødelagt. Skrivebordsklienter kan kjøre skript og plugins under dokumenterte kontroller, mens mobilklienter godtar et smalere sett og kan stille droppe linjer de ikke forstår. En cipher- eller TLS-innstilling som en eldre klient avviser, er et versjonsproblem som må løses med operatøren. Å aktivere ukjente rettigheter for å tvinge gjennom en import bytter en advarsel mot en større angrepsflate.
Behold originalfilen for sammenligning, noter det nøyaktige ikke-støttede direktivet i forespørselen din, og be om en profil bygget for klienten du faktisk kjører.
Etter enhver utskifting, bekreft hvilken profiloppføring appen bruker, fordi import av en ny fil ikke alltid overskriver den gamle.