Hvad en .ovpn-fil egentlig indeholder, og hvad den ikke kan
En .ovpn-fil konfigurerer din klient, ikke serveren. Se hvad dens transport-, nøgle- og routinglinjer kan gøre, og hvor deres indflydelse stopper.
De fleste antager, at en .ovpn-fil konfigurerer en VPN. Det gør den ikke: den konfigurerer én klient, og alt, hvad den beder om, skal allerede findes på den anden side. At ændre en linje i filen kan ændre, hvad din maskine forsøger, aldrig hvad serveren tilbyder. Den forskel forklarer det meste af forvirringen omkring profiler, der ikke kan importeres eller forbinde.
Læs filen som en anmodningsliste rettet til din klient, og de fleste af dens linjer bliver indlysende.
Filen beskriver din klient, ikke serveren
En profil samler et remote-endepunkt, en transport, en grænsefladetype, identitetsmateriale og enhver klientadfærd, som operatøren ønsker. Hver linje udføres af klienten ved opstart. Ingen af dem når serveren som en konfigurationsændring, og ingen af dem kan oprette en lytter, der ikke allerede kører. En profil, der angiver TCP 443 mod en server, der kun lytter på UDP 1194 fejler ved den første pakke.
Det er også derfor, at den samme fil opfører sig forskelligt på to klienter: filen spørger, og klienten afgør, hvor meget af anmodningen den kan efterkomme.
Transportlinjer skal matche en lytter, der allerede findes
proto og remote linjer skal stemme overens med det, serveren faktisk binder. UDP er det sædvanlige valg, fordi et tabt datagram ikke stopper tunnelen, mens TCP kan overleve restriktive netværk på bekostning af blokering i køens hoved inde i tunnelen. At skifte en profil fra UDP til TCP får ikke serveren til at acceptere TCP; det får kun klienten til at sende til en port, som ingen læser.
Port 443 er populær, fordi den passerer netværk, der næsten ikke tillader andet, og den forbliver en OpenVPN session frem for en HTTPS-anmodning. Hvis operatøren offentliggør flere remote linjer, prøver klienten dem i rækkefølge, hvilket er en failover-liste og ikke en belastningsbalanceringsbeslutning. Behold de kombinationer, operatøren leverede, i stedet for at blande en vært fra en post med en port fra en anden.
Indlejrede nøgler ændrer, hvordan du håndterer filen
Certifikater og nøgler kan stå indlejret mellem <ca>, <cert> og <key> tags, eller de kan refereres til som separate filer. Indlejret materiale gør profilen selvforsynende og gør den også til en hemmelighed, fordi klientens private nøgle rejser indeni den. Et CA-certifikat er offentligt tillidsmateriale og er sikkert at dele; en privat nøgle er det ikke, også selv om den ligner en ulæselig tekstblok.
Adgangsfrasen, der beskytter en nøgle, er en separat hemmelighed fra kontoadgangskoden, og at blande dem giver en godkendelsesfejl, der ligner forkerte legitimationsoplysninger.
Ruter og DNS kommer måske slet ikke fra filen
Routing kan skubbes af serveren, sættes af profilen med redirect-gateway, eller overlades til klientens egne standardindstillinger. Den fil, du hentede, bestemmer derfor ikke fuldt ud, hvor trafikken går hen, når tunnelen er oppe. Når interne navne opløses, og offentlige websteder ikke gør, gør split-tunnel-politikken det, den blev designet til, og fejler ikke.
DNS følger samme mønster: en skubbet dhcp-option DNS kan anvendes af klienten, ignoreres eller tilsidesættes af en lokal resolver-manager. Kontrollér resolverens tilstand efter forbindelsen i stedet for at læse profilen igen.
Ikke-understøttede indstillinger er et spørgsmål om klientversion
Importadvarsler betyder normalt, at klienten ikke implementerer et direktiv, ikke at filen er beskadiget. Skrivebordsklienter kan køre scripts og plugins under dokumenterede kontroller, mens mobilklienter accepterer et snævrere sæt og kan lydløst droppe linjer, de ikke forstår. En cipher- eller TLS-indstilling, som en ældre klient afviser, er et versionsproblem, der skal løses med operatøren. At aktivere ukendte rettigheder for at gennemtvinge en import bytter en advarsel for en større angrebsflade.
Behold originalfilen til sammenligning, notér det præcise ikke-understøttede direktiv i din anmodning, og bed om en profil, der er bygget til den klient, du faktisk kører.
Efter enhver udskiftning skal du bekræfte, hvilken profilpost appen bruger, fordi import af en ny fil ikke altid overskriver den gamle.