Leiad faili nimega config.json, selles mainitakse VPN-serverit ja eeldus järgneb kohe: see peab olema OpenVPN-ühendus. Sageli see ei ole. Selle nimega JSON-fail võib kuuluda töölaua esiliidesele, mis klienti käivitab, deemonile, mis hoiustab oma seadeid, või toote ekspordivormingule, ja igaühel neist on oma skeem.

Failinimi on kõige vähem kasulik vihje. Alusta protsessist, mis faili loeb, seejärel kontrolli, kas formaat, mida see ootab, on üldse JSON, ja alles siis otsusta, kas faili muutmine on toetatud viis millegi muutmiseks.

Alusta protsessist, mitte failinimest

Vaata, mis tegelikult töötab. Teenuseüksus, käivituskript või süsteemisalve rakendus nimetab binaarfaili, mille see käivitab, ja sageli ka konfiguratsioonitee, mille see edasi annab. Faili sisaldav kataloog on teine vihje: rakenduse andmekataloogid, teenuse konfiguratsioonikataloogid ja kasutajaprofiilide kataloogid viitavad erinevatele omanikele.

Seejärel loe selle komponendi omaniktoote dokumentatsiooni. Kui JSON kuulub mähisele, on selle võtmed mähise võtmed, ja teise toote näite põhjal ehitatud usutavalt näiv objekt lükatakse tagasi või jäetakse vaikselt tähelepanuta.

Kaks sama nimega faili erinevates kataloogides on tavaline lõks. Üks võib olla genereeritud olek, mille teenus igal käivitusel üle kirjutab, ja teine mall, mida inimene peaks muutma. Vale faili muutmine annab paranduse, mis püsib kuni järgmise taaskäivituseni.

Mis on Community OpenVPN-i profiil tegelikult

Community OpenVPN 2.6 loeb valikupõhist tekstivormingut. Profiil on direktiivide jada: kliendirežiimi rida, seadme rida, kauglõpp-punkt, lisaks identiteedi-, šifri- ja marsruudivalikud, ning see võib manustada sertifikaadi- ja võtmematerjali reasisestesse plokkidesse.

Seda formaati parsib klient ise rida-realt. JSON-dokumendi andmine sellele config-valiku kaudu ei lülita sisse JSON-parserit; esimene rida lükatakse tagasi tundmatu direktiivina. JSON-faili ümbernimetamine nii, et see lõpeb .ovpn-ga, ei teisenda ka selle sisu, ja kehtiv valikufail ei muutu kehtetuks seetõttu, et selle laiend on ebatavaline.

OpenVPN Connect ja OpenVPN 3 Linux on profiilide jaoks oma impordi- ja haldusteede. Need tooted võivad profiili vastu võtta ja salvestada selle oma andmebaasi või teenuse olekusse, mis ei ole sama asi kui JSON-fail, mis juhtumisi kirjeldab serverit.

Teisele komponendile kuuluva oleku muutmine

Kui JSON on genereeritud, on selle muutmine võidusõit. Töötav teenus võib selle väljalülitamisel, taasühendamisel või järgmisel seadete muutmisel tagasi kirjutada, ja käsitsi tehtud muudatus kaob ilma veata. Eelista toote impordikäsku, haldus-API-t või seadete liidest, sest need teed uuendavad sisemist olekut, mida fail esindab. Pärast taaskäivitust tagasi pöörduv fail ütleb sulle, milline tee oli püsiv.

Kui sa siiski muudad genereeritud faili, peata esmalt teenus, tee varukoopia ja tee võimalikult väike muudatus. Seejärel kontrolli, kas teenus kirjutab faili käivitumisel üle, sest käivitumisel tagasi pöörduv fail tähendab, et tegelik tõeallikas on mujal ja muudatus ei oleks kunagi püsinud.

Paroolid ja reasisessed privaatvõtmed on eraldi teema. JSON võib kanda tervikvõtit sama hõlpsalt kui valikufail, seega käsitle iga eksporti saladusena, hoia seda eemal jagatud ketastest ja peida väärtused enne, kui kleepid struktuuri foorumiküsimusse.

Muudatuse kontrollimine ja faili kaitsmine

Kontrollimine ei ole „JSON parsitakse“. Parsimine tõestab ainult, et sulud klapivad; see ei ütle midagi selle kohta, kas omanik võtmeid ära tunneb. Kontrolli toote enda olekut: aktiivsete profiilide loendit, valitud ühendust ja taasühendust, mis tõesti uusi väärtusi kasutab. Loendis ilmuv, kuid kunagi valituks mitte saav profiil ei ole ikka veel kasutatav profiil.

Jälgi selle komponendi logi, mida muutsid, mitte ainult VPN-kliendi logi. Mähist, mis sinu faili tagasi lükkab, teatab sellest tavaliselt oma logis, ja klient, kes faili kunagi ei saanud, näeb välja täpselt nagu klient, kes sai halvad seaded.

Hoia töötava faili koopia ja pane kirja tooteversioon, mille vastu testisid. Need vormingud muutuvad väljaannete vahel, ja eelmisel aastal töötanud struktuur võidakse pärast uuendust tagasi lükata sõnumiga, mis skeemi üldse ei mainigi.

Läbivaatuse kokkuvõte: tuvasta protsess, loe selle dokumentatsiooni, kinnita, kas fail on üldse JSON, kasuta toetatud muutmise teed ja kontrolli toote enda oleku kaudu. Failinimi ei vastanud kunagi ühelegi neist küsimustest.

Seotud artiklid