Nájdete súbor s názvom config.json, spomína sa v ňom server VPN a hneď nasleduje predpoklad: toto musí byť pripojenie OpenVPN. Často nie je. Súbor JSON s týmto názvom môže patriť desktopovému rozhraniu, ktoré spúšťa klienta, démonovi, ktorý si ukladá vlastné nastavenia, alebo exportnému formátu produktu, a každý z nich má vlastnú schému.

Názov súboru je najmenej užitočná stopa. Začnite procesom, ktorý súbor číta, potom skontrolujte, či formát, ktorý očakáva, je vôbec JSON, a až potom rozhodnite, či je úprava súboru podporovaný spôsob, ako niečo zmeniť.

Začnite procesom, nie názvom súboru

Pozrite sa, čo skutočne beží. Systémová jednotka, spúšťací skript alebo aplikácia v oznamovacej oblasti pomenujú binárny súbor, ktorý spúšťajú, a často aj cestu ku konfigurácii, ktorú odovzdávajú. Adresár, v ktorom súbor leží, je druhá stopa: adresáre údajov aplikácií, adresáre konfigurácie služieb a adresáre používateľských profilov naznačujú rôznych vlastníkov.

Potom si prečítajte dokumentáciu produktu, ktorému tento komponent patrí. Ak JSON patrí obalu, jeho kľúče sú kľúče obalu a vierohodne vyzerajúci objekt zostavený podľa príkladu iného produktu bude odmietnutý alebo ticho ignorovaný.

Dva súbory s rovnakým názvom v rôznych adresároch sú častá pasca. Jeden môže byť generovaný stav, ktorý služba prepisuje pri každom štarte, a druhý šablóna, ktorú má upravovať človek. Zmena nesprávneho prinesie opravu, ktorá vydrží do ďalšieho reštartu.

Čo je profil Community OpenVPN v skutočnosti

Community OpenVPN 2.6 číta textový formát založený na možnostiach. Profil je postupnosť direktív: riadok klientského režimu, riadok zariadenia, vzdialený koncový bod, plus možnosti identity, šifrovania a trás, a môže vkladať materiál certifikátu a kľúča do inline blokov.

Tento formát parsuje klient sám riadok po riadku. Odovzdať mu dokument JSON cez voľbu config nezapne parser JSON; prvý riadok bude odmietnutý ako neznáma direktíva. Premenovanie súboru JSON tak, aby sa končil na .ovpn, tiež neprevedie jeho obsah, a platný súbor možností sa nestane neplatným len preto, že jeho prípona je nezvyčajná.

OpenVPN Connect a OpenVPN 3 Linux majú vlastné cesty importu a správy profilov. Tieto produkty môžu profil prijať a uložiť ho vo vlastnej databáze alebo stave služby, čo nie je to isté ako súbor JSON, ktorý náhodou opisuje server.

Úprava stavu, ktorý vlastní iný komponent

Ak je JSON generovaný, jeho úprava je pretek. Bežiaca služba ho môže zapísať späť pri vypnutí, pri opätovnom pripojení alebo pri ďalšej zmene nastavení, a ručná úprava zmizne bez chyby. Preferujte importný príkaz produktu, správne API alebo rozhranie nastavení, pretože tieto cesty aktualizujú vnútorný stav, ktorý súbor predstavuje. Súbor, ktorý sa po reštarte vráti, vám povie, ktorá cesta bola trvalá.

Ak napriek tomu upravujete generovaný súbor, najprv zastavte službu, urobte zálohu a vykonajte čo najmenšiu zmenu. Potom skontrolujte, či služba súbor pri štarte neprepisuje, pretože súbor, ktorý sa pri štarte vráti, znamená, že skutočný zdroj pravdy je inde a úprava by nikdy nevydržala.

Heslá a vložené súkromné kľúče sú samostatná vec. JSON môže niesť úplný kľúč rovnako ľahko ako súbor možností, preto s každým exportom zaobchádzajte ako s tajomstvom, držte ho mimo zdieľaných diskov a hodnoty začiernite, než štruktúru vložíte do otázky na fóre.

Overenie zmeny a ochrana súboru

Overenie nie je „JSON sa parsuje“. Parsovanie dokazuje len to, že zátvorky sedia; nič nehovorí o tom, či vlastník kľúče rozpozná. Skontrolujte vlastný stav produktu: zoznam aktívnych profilov, zvolené pripojenie a opätovné pripojenie, ktoré nové hodnoty skutočne používa. Profil, ktorý sa v zozname objaví, ale nikdy sa nestane zvoleným, stále nie je profilom v použití.

Sledujte log komponentu, ktorý ste upravovali, nie len log klienta VPN. Obal, ktorý váš súbor odmietne, to zvyčajne oznámi vo svojom vlastnom logu, a klient, ktorý súbor nikdy nedostal, vyzerá rovnako ako klient, ktorý dostal zlé nastavenia.

Uchovajte kópiu funkčného súboru a poznamenajte si verziu produktu, na ktorej ste testovali. Tieto formáty sa medzi verziami menia a štruktúra, ktorá vlani fungovala, môže byť po aktualizácii odmietnutá so správou, ktorá schému vôbec nespomína.

Zhrnutie postupu: určite proces, prečítajte jeho dokumentáciu, overte, či je súbor vôbec JSON, použite podporovanú cestu úpravy a overte cez vlastný stav produktu. Názov súboru nikdy neodpovedal na žiadnu z týchto otázok.

Súvisiace články