Najdete soubor s názvem config.json, zmiňuje se v něm VPN server a hned následuje předpoklad: tohle musí být připojení OpenVPN. Často není. Soubor JSON s tímto názvem může patřit desktopovému rozhraní, které spouští klienta, démonu, který si ukládá vlastní nastavení, nebo exportnímu formátu produktu, a každý z nich má vlastní schéma.

Název souboru je nejméně užitečná stopa. Začněte procesem, který soubor čte, potom zkontrolujte, zda formát, který očekává, je vůbec JSON, a teprve potom rozhodněte, zda je úprava souboru podporovaný způsob, jak něco změnit.

Začněte procesem, ne názvem souboru

Podívejte se, co skutečně běží. Systémová jednotka, spouštěcí skript nebo aplikace v oznamovací oblasti pojmenují binární soubor, který spouštějí, a často i cestu ke konfiguraci, kterou předávají. Adresář, v němž soubor leží, je druhá stopa: adresáře dat aplikací, adresáře konfigurace služeb a adresáře uživatelských profilů naznačují různé vlastníky.

Potom si přečtěte dokumentaci produktu, kterému tato komponenta patří. Pokud JSON patří obalu, jeho klíče jsou klíče obalu a věrohodně vypadající objekt sestavený podle příkladu jiného produktu bude odmítnut nebo tiše ignorován.

Dva soubory se stejným názvem v různých adresářích jsou častá past. Jeden může být generovaný stav, který služba přepisuje při každém startu, a druhý šablona, kterou má upravovat člověk. Změna špatného z nich přinese opravu, která vydrží do dalšího restartu.

Co je profil Community OpenVPN doopravdy

Community OpenVPN 2.6 čte textový formát založený na volbách. Profil je posloupnost direktiv: řádek klientského režimu, řádek zařízení, vzdálený koncový bod, plus volby identity, šifry a tras, a může vkládat materiál certifikátu a klíče do inline bloků.

Tento formát parsuje klient sám řádek po řádku. Předat mu JSON dokument přes volbu config JSON parser nezapne; první řádek bude odmítnut jako neznámá direktiva. Přejmenovat soubor JSON tak, aby končil na .ovpn, také nepřevede jeho obsah, a platný soubor voleb se nestane neplatným jen proto, že jeho přípona je neobvyklá.

OpenVPN Connect a OpenVPN 3 Linux mají vlastní cesty importu a správy profilů. Tyto produkty mohou profil přijmout a uložit do vlastní databáze nebo stavu služby, což není totéž jako soubor JSON, který náhodou popisuje server.

Úprava stavu, který vlastní jiná komponenta

Pokud je JSON generovaný, je jeho úprava závod. Běžící služba ho může zapsat zpět při vypnutí, při opětovném připojení nebo při další změně nastavení, a ruční úprava zmizí bez chyby. Preferujte importní příkaz produktu, správní API nebo rozhraní nastavení, protože tyto cesty aktualizují vnitřní stav, který soubor představuje. Soubor, který se po restartu vrátí, vám říká, která cesta byla trvalá.

Pokud přesto generovaný soubor upravíte, nejprve zastavte službu, udělejte zálohu a proveďte co nejmenší změnu. Potom zkontrolujte, zda služba soubor při startu nepřepisuje, protože soubor, který se při startu vrátí, znamená, že skutečný zdroj pravdy je jinde a úprava by nikdy nevydržela.

Hesla a vložené soukromé klíče jsou samostatná věc. JSON může nést celý klíč stejně snadno jako soubor voleb, proto s každým exportem zacházejte jako s tajemstvím, držte ho mimo sdílené disky a hodnoty začerněte, než strukturu vložíte do otázky na fóru.

Ověření změny a ochrana souboru

Ověření není „JSON se parsuje“. Parsování dokazuje jen to, že závorky sedí; nic neříká o tom, zda vlastník klíče rozpozná. Zkontrolujte vlastní stav produktu: seznam aktivních profilů, zvolené připojení a opětovné připojení, které nové hodnoty skutečně používá. Profil, který se v seznamu objeví, ale nikdy se nestane zvoleným, stále není profilem v použití.

Sledujte log komponenty, kterou jste upravovali, ne jen log VPN klienta. Obal, který váš soubor odmítne, to obvykle oznámí ve svém vlastním logu, a klient, který soubor nikdy nedostal, vypadá stejně jako klient, který dostal špatné nastavení.

Uchovejte kopii funkčního souboru a poznamenejte si verzi produktu, na které jste testovali. Tyto formáty se mezi verzemi mění a struktura, která loni fungovala, může být po aktualizaci odmítnuta se zprávou, která schéma vůbec nezmiňuje.

Shrnutí postupu: určete proces, přečtěte jeho dokumentaci, ověřte, zda je soubor vůbec JSON, použijte podporovanou cestu úpravy a ověřte přes vlastní stav produktu. Název souboru nikdy na žádnou z těchto otázek neodpověděl.

Související články