Hvilket program eier den config.json i OpenVPN-oppsettet ditt?
En fil kalt config.json kan tilhøre et GUI, en daemon eller et eksportformat i stedet for OpenVPN. Finn parseren før du redigerer eller erstatter nøkler.
Du finner en fil som heter config.json, den nevner en VPN-server, og antakelsen følger umiddelbart: dette må være OpenVPN-tilkoblingen. Ofte er det ikke det. En JSON-fil med det navnet kan tilhøre et skrivebordsgrensesnitt som starter klienten, en daemon som lagrer sine egne innstillinger, eller et produkts eksportformat, og hver av dem har sitt eget skjema.
Filnavnet er det minst nyttige sporet. Start med prosessen som leser filen, sjekk deretter om formatet den forventer i det hele tatt er JSON, og avgjør først da om redigering av filen er den støttede måten å endre noe på.
Start med prosessen, ikke filnavnet
Se på hva som faktisk kjører. En tjenesteenhet, et startskript eller et tray-program navngir binæren det starter, og ofte konfigurasjonsbanen det sender med. Mappen som inneholder filen er et andre spor: applikasjonsdatamapper, tjenestekonfigurasjonsmapper og brukerprofilmapper peker på forskjellige eiere.
Les deretter dokumentasjonen til produktet som eier den komponenten. Hvis JSON-filen tilhører en wrapper, er nøklene dens wrapperens nøkler, og et plausibelt utseende objekt bygget etter et annet produkts eksempel vil bli avvist eller stille ignorert.
To filer med samme navn i forskjellige mapper er en vanlig felle. Den ene kan være generert tilstand som tjenesten skriver på nytt ved hver start, og den andre kan være malen et menneske skal redigere. Å endre den gale gir en rettelse som varer til neste omstart.
Hva en Community OpenVPN-profil egentlig er
Community OpenVPN 2.6 leser et tekstformat basert på valg. En profil er en sekvens direktiver: en klientmoduslinje, en enhetslinje, et eksternt endepunkt, samt identitets-, krypterings- og rutevalg, og den kan bygge inn sertifikat- og nøkkelmateriale i inline-blokker.
Det formatet parses linje for linje av klienten selv. Å gi den et JSON-dokument gjennom config-valget slår ikke på en JSON-parser; den første linjen vil bli avvist som et ukjent direktiv. Å gi en JSON-fil nytt navn slik at den slutter på .ovpn konverterer heller ikke innholdet, og en gyldig valgfil blir ikke ugyldig fordi filtypen er uvanlig.
OpenVPN Connect og OpenVPN 3 Linux har sine egne import- og administrasjonsveier for profiler. Disse produktene kan ta imot en profil og lagre den i sin egen database eller tjenestetilstand, noe som ikke er det samme som en JSON-fil som tilfeldigvis beskriver en server.
Redigere tilstand som en annen komponent eier
Hvis JSON-filen er generert, er redigering av den et kappløp. En kjørende tjeneste kan skrive den tilbake ved nedstenging, ved gjenoppkobling eller ved neste innstillingsendring, og en håndredigering forsvinner uten feil. Foretrekk produktets importkommando, administrasjons-API eller innstillingsgrensesnitt, fordi disse veiene oppdaterer den interne tilstanden filen representerer. En fil som faller tilbake etter en omstart forteller deg hvilken vei som var den varige.
Hvis du likevel redigerer en generert fil, stopp tjenesten først, ta en sikkerhetskopi og gjør den minst mulige endringen. Sjekk deretter om tjenesten skriver filen på nytt når den starter, for en fil som faller tilbake ved start betyr at den egentlige sannhetskilden er et annet sted, og endringen ville aldri ha blitt stående.
Passord og innebygde private nøkler er en egen sak. JSON kan bære en fullstendig nøkkel like lett som en valgfil, så behandle enhver eksport som hemmelig, hold den unna delte disker og sladd verdiene før du limer inn struktur i et forumspørsmål.
Verifisere endringen og beskytte filen
Verifisering er ikke «JSON lar seg parse». Parsing beviser bare at klammeparentesene passer; det sier ingenting om hvorvidt eieren gjenkjenner nøklene. Sjekk produktets egen tilstand: listen over aktive profiler, den valgte tilkoblingen og en gjenoppkobling som faktisk bruker de nye verdiene. En profil som dukker opp i listen men aldri blir den valgte, er fortsatt ikke profilen som er i bruk.
Følg med på loggen til komponenten du redigerte, ikke bare VPN-klientens logg. En wrapper som avviser filen din, rapporterer det vanligvis i sin egen logg, og en klient som aldri mottok filen, ser identisk ut med en klient som mottok dårlige innstillinger.
Ta vare på en kopi av filen som fungerer, og noter produktversjonen du testet mot. Disse formatene endres mellom utgivelser, og en struktur som fungerte i fjor, kan bli avvist etter en oppgradering med en melding som ikke nevner skjemaet i det hele tatt.
Oppsummering av gjennomgangen: identifiser prosessen, les dokumentasjonen, bekreft om filen i det hele tatt er JSON, bruk den støttede redigeringsveien og verifiser gjennom produktets egen tilstand. Filnavnet svarte aldri på noen av disse spørsmålene.