Kva program eig den config.json i OpenVPN-oppsettet ditt?
Ei fil kalla config.json kan tilhøyre eit GUI, ein daemon eller eit eksportformat i staden for OpenVPN. Finn parsaren før du redigerer eller byter ut nøklar.
Du finn ei fil som heiter config.json, ho nemner ein VPN-server, og føresetnaden kjem straks: dette må vere OpenVPN-tilkoplinga. Ofte er det ikkje det. Ei JSON-fil med det namnet kan tilhøyre eit skrivebordsgrensesnitt som startar klienten, ein daemon som lagrar sine eigne innstillingar, eller eit eksportformat for eit produkt, og kvar av dei har sitt eige skjema.
Filnamnet er det minst nyttige sporet. Start med prosessen som les fila, sjekk deretter om formatet han ventar i det heile er JSON, og avgjer først då om redigering av fila er den støtta måten å endre noko på.
Start med prosessen, ikkje filnamnet
Sjå på kva som faktisk køyrer. Ei tenesteeining, eit startskript eller eit tray-program namngjev binærfila det startar, og ofte konfigurasjonsstigen det sender med. Mappa som inneheld fila er eit andre spor: applikasjonsdatamapper, tenestekonfigurasjonsmapper og brukarprofilmapper peikar på ulike eigarar.
Les deretter dokumentasjonen til produktet som eig den komponenten. Viss JSON-fila tilhøyrer ein wrapper, er nøklane hans wrapperen sine nøklar, og eit plausibelt utsjåande objekt bygd etter dømet til eit anna produkt vil bli avvist eller stille ignorert.
To filer med same namn i ulike mapper er ei vanleg felle. Den eine kan vere generert tilstand som tenesta skriv på nytt ved kvar start, og den andre kan vere malen eit menneske skal redigere. Å endre den gale gjev ei retting som varer til neste omstart.
Kva ein Community OpenVPN-profil eigentleg er
Community OpenVPN 2.6 les eit tekstformat basert på val. Ein profil er ei rekkje direktiv: ei klientmoduslinje, ei eininglinje, eit eksternt endepunkt, samt identitets-, krypterings- og ruteval, og han kan byggje inn sertifikat- og nøkkelmateriale i inline-blokker.
Det formatet blir parsa linje for linje av klienten sjølv. Å gje han eit JSON-dokument gjennom config-valet slår ikkje på ein JSON-parsar; den første linja vil bli avvist som eit ukjent direktiv. Å gje ei JSON-fil nytt namn slik at ho endar på .ovpn konverterer heller ikkje innhaldet, og ei gyldig valfil blir ikkje ugyldig fordi filtypen er uvanleg.
OpenVPN Connect og OpenVPN 3 Linux har sine eigne import- og administrasjonsvegar for profilar. Desse produkta kan ta imot ein profil og lagre han i sin eigen database eller tenestetilstand, noko som ikkje er det same som ei JSON-fil som tilfeldigvis skildrar ein server.
Redigere tilstand som ein annan komponent eig
Viss JSON-fila er generert, er redigering av ho eit kappløp. Ei teneste som køyrer kan skrive ho tilbake ved nedstenging, ved gjenoppkopling eller ved neste innstillingsendring, og ei handredigering forsvinn utan feil. Føretrekk importkommandoen til produktet, administrasjons-API-et eller innstillingsgrensesnittet, fordi desse vegane oppdaterer den interne tilstanden fila representerer. Ei fil som fell tilbake etter ein omstart fortel deg kva veg som var den varige.
Viss du likevel redigerer ei generert fil, stopp tenesta først, ta ein tryggleikskopi og gjer den minste moglege endringa. Sjekk deretter om tenesta skriv fila på nytt når ho startar, for ei fil som fell tilbake ved start tyder at den eigentlege sanninga er ein annan stad, og endringa ville aldri ha blitt ståande.
Passord og innebygde private nøklar er ei eiga sak. JSON kan bere ein fullstendig nøkkel like lett som ei valfil, så handsam kvar eksport som hemmeleg, hald han unna delte diskar og sladd verdiane før du limer inn struktur i eit forumsspørsmål.
Stadfeste endringa og verne fila
Stadfesting er ikkje «JSON let seg parse». Parsing bevisar berre at klammerparatesene passar; det seier ingenting om korvidt eigaren kjenner att nøklane. Sjekk den eigen tilstanden til produktet: lista over aktive profilar, den valde tilkoplinga og ei gjenoppkopling som faktisk brukar dei nye verdiane. Ein profil som dukkar opp i lista men aldri blir den valde, er framleis ikkje profilen som er i bruk.
Følg med på loggen til komponenten du redigerte, ikkje berre loggen til VPN-klienten. Ein wrapper som avviser fila di, rapporterer det vanlegvis i sin eigen logg, og ein klient som aldri fekk fila, ser identisk ut med ein klient som fekk dårlege innstillingar.
Ta vare på ein kopi av fila som fungerer, og noter produktversjonen du testa mot. Desse formata endrar seg mellom utgivingar, og ein struktur som fungerte i fjor, kan bli avvist etter ei oppgradering med ei melding som ikkje nemner skjemaet i det heile.
Oppsummering av gjennomgangen: identifiser prosessen, les dokumentasjonen, stadfest om fila i det heile er JSON, bruk den støtta redigeringsvegen og stadfest gjennom den eigen tilstanden til produktet. Filnamnet svara aldri på noko av desse spørsmåla.