Cili program zotëron atë config.json në konfigurimin tënd të OpenVPN?
Një skedar i quajtur config.json mund t'i përkasë një GUI-je, një daemon-i ose një formati eksporti dhe jo OpenVPN. Gjeni parserin përpara se të redaktoni ose zëvendësoni çelësat.
Gjeni një skedar të quajtur config.json, përmendet një server VPN dhe supozimi vjen menjëherë: kjo duhet të jetë lidhja OpenVPN. Shpesh nuk është. Një skedar JSON me atë emër mund t'i përkasë një ndërfaqeje desktop që nis klientin, një daemon-i që ruan cilësimet e veta ose formatit të eksportit të një produkti, dhe secili prej tyre ka skemën e vet.
Emri i skedarit është indici më pak i dobishëm. Filloni nga procesi që lexon skedarin, më pas kontrolloni nëse formati që pret është edhe JSON, dhe vetëm atëherë vendosni nëse redaktimi i skedarit është mënyra e mbështetur për të ndryshuar diçka.
Filloni nga procesi, jo nga emri i skedarit
Shikoni çfarë po ekzekutohet vërtet. Një njësi shërbimi, një skript nisjeje ose një aplikacion në tabaka do të emërojnë binarin që nisin dhe shpesh shtegun e konfigurimit që kalojnë. Drejtoria që përmban skedarin është indici i dytë: drejtoritë e të dhënave të aplikacioneve, të konfigurimit të shërbimeve dhe të profileve të përdoruesit nënkuptojnë pronarë të ndryshëm.
Më pas lexoni dokumentacionin e produktit që zotëron atë komponent. Nëse JSON-i i përket një mbështjellësi, çelësat e tij janë çelësat e mbështjellësit, dhe një objekt me pamje të besueshme i ndërtuar sipas shembullit të një produkti tjetër do të refuzohet ose do të injorohet në heshtje.
Dy skedarë me të njëjtin emër në drejtori të ndryshme janë një kurth i zakonshëm. Njëri mund të jetë gjendje e gjeneruar që shërbimi e rishkruan në çdo nisje, dhe tjetri mund të jetë shablloni që duhet redaktuar nga njeriu. Ndryshimi i të gabuarit prodhon një rregullim që zgjat deri në rinisjen tjetër.
Çfarë është në të vërtetë një profil Community OpenVPN
Community OpenVPN 2.6 lexon një format teksti të bazuar në opsione. Një profil është një sekuencë direktivash: rreshti i modalitetit të klientit, rreshti i pajisjes, një pikë fundore e largët, plus opsione identiteti, kriptimi dhe rrugësh, dhe mund të përfshijë material certifikate dhe çelësi brenda blloqeve inline.
Ai format analizohet rresht për rresht nga vetë klienti. T'i japësh një dokument JSON përmes opsionit config nuk aktivizon një parser JSON; rreshti i parë do të refuzohet si direktivë e panjohur. Riemërtimi i një skedari JSON që të përfundojë me .ovpn nuk e konverton as përmbajtjen e tij, dhe një skedar opsionesh i vlefshëm nuk bëhet i pavlefshëm sepse shtesa e tij është e pazakontë.
OpenVPN Connect dhe OpenVPN 3 Linux kanë shtigjet e tyre të importimit dhe menaxhimit të profileve. Këto produkte mund të pranojnë një profil dhe ta ruajnë në bazën e të dhënave ose në gjendjen e shërbimit të tyre, gjë që nuk është e njëjta gjë si një skedar JSON që përshkruan rastësisht një server.
Redaktimi i gjendjes që zotërohet nga një komponent tjetër
Nëse JSON-i është i gjeneruar, redaktimi i tij është një garë. Një shërbim në punë mund ta rishkruajë atë në mbyllje, në rilidhje ose në ndryshimin e ardhshëm të cilësimeve, dhe një redaktim manual zhduket pa gabim. Preferoni komandën e importimit të produktit, API-në e menaxhimit ose ndërfaqen e cilësimeve, sepse ato shtigje përditësojnë gjendjen e brendshme që përfaqëson skedari. Një skedar që kthehet pas një rinisjeje ju tregon cila shteg ishte i qëndrueshëm.
Nëse gjithsesi redaktoni një skedar të gjeneruar, ndaloni fillimisht shërbimin, mbani një kopje rezervë dhe bëni ndryshimin më të vogël të mundshëm. Më pas kontrolloni nëse shërbimi e rishkruan skedarin në nisje, sepse një skedar që kthehet në nisje do të thotë që burimi i vërtetë i së vërtetës është diku tjetër dhe ndryshimi nuk do të kishte mbetur kurrë.
Fjalëkalimet dhe çelësat privatë inline janë çështje më vete. JSON mund të mbajë një çelës të plotë po aq lehtë sa një skedar opsionesh, prandaj trajtoni çdo eksport si sekret, mbani larg disqeve të përbashkëta dhe fshihni vlerat përpara se të ngjitni strukturën në një pyetje forumi.
Verifikimi i ndryshimit dhe mbrojtja e skedarit
Verifikimi nuk është “JSON analizohet”. Analiza vërteton vetëm se kllapat përputhen; nuk thotë asgjë nëse pronari i njeh çelësat. Kontrolloni gjendjen e vetë produktit: listën e profileve aktive, lidhjen e zgjedhur dhe një rilidhje që përdor vërtet vlerat e reja. Një profil që shfaqet në listë por nuk bëhet kurrë ai i zgjedhuri nuk është ende profili në përdorim.
Ndiqui regjistrin e komponentit që redaktuat, jo vetëm atë të klientit VPN. Një mbështjellës që refuzon skedarin tuaj zakonisht e raporton në regjistrin e vet, dhe një klient që nuk e mori kurrë skedarin duket identik me një klient që mori cilësime të këqija.
Mbani një kopje të skedarit që funksionon dhe shënoni versionin e produktit me të cilin testuat. Këto formate ndryshojnë midis versioneve, dhe një strukturë që funksiononte vitin e kaluar mund të refuzohet pas një përditësimi me një mesazh që nuk e përmend fare skemën.
Përmbledhje e shtegut: identifikoni procesin, lexoni dokumentacionin e tij, konfirmoni nëse skedari është edhe JSON, përdorni shtegun e redaktimit të mbështetur dhe verifikoni përmes gjendjes së vetë produktit. Emri i skedarit nuk iu përgjigj kurrë asnjë prej këtyre pyetjeve.