Tu atrodi failu ar nosaukumu config.json, tajā minēts VPN serveris, un pieņēmums seko uzreiz: tas noteikti ir OpenVPN savienojums. Bieži tas tā nav. JSON fails ar šādu nosaukumu var piederēt galddatora saskarnei, kas palaiž klientu, dēmonam, kas glabā savus iestatījumus, vai produkta eksporta formātam, un katram no tiem ir sava shēma.

Faila nosaukums ir vismazāk noderīgā norāde. Sāc ar procesu, kas lasa failu, pēc tam pārbaudi, vai formāts, ko tas gaida, vispār ir JSON, un tikai tad izlem, vai faila rediģēšana ir atbalstītais veids, kā kaut ko mainīt.

Sāc ar procesu, nevis faila nosaukumu

Apskati, kas patiešām darbojas. Pakalpojuma vienība, palaišanas skripts vai sistēmas teknes lietotne norādīs bināro failu, ko tā palaiž, un bieži arī konfigurācijas ceļu, ko tā nodod. Mape, kurā atrodas fails, ir otra norāde: lietotņu datu mapes, pakalpojumu konfigurācijas mapes un lietotāja profila mapes norāda uz dažādiem īpašniekiem.

Pēc tam izlasi tā produkta dokumentāciju, kuram pieder attiecīgā komponente. Ja JSON pieder ietvaram, tā atslēgas ir ietvara atslēgas, un ticami izskatīgs objekts, kas veidots pēc cita produkta piemēra, tiks noraidīts vai klusējot ignorēts.

Divi faili ar vienu un to pašu nosaukumu dažādās mapēs ir bieži sastopams slazds. Viens var būt ģenerēts stāvoklis, ko pakalpojums pārraksta katrā palaišanā, bet otrs — veidne, kas cilvēkam jārediģē. Nepareizā maiņa dod labojumu, kas saglabājas līdz nākamajai pārstartēšanai.

Kas īsti ir Community OpenVPN profils

Community OpenVPN 2.6 lasa uz opcijām balstītu teksta formātu. Profils ir direktīvu secība: klienta režīma rinda, ierīces rinda, attāls galapunkts, kā arī identitātes, šifrēšanas un maršrutu opcijas, un tas var iekļaut sertifikāta un atslēgas materiālu iekļautajos blokos.

Šo formātu rindu pa rindai parsē pats klients. Nododot tam JSON dokumentu ar opciju config, JSON parsētājs neieslēdzas; pirmā rinda tiks noraidīta kā nezināma direktīva. JSON faila pārdēvēšana tā, lai tas beigtos ar .ovpn, arī nepārvērš tā saturu, un derīgs opciju fails nekļūst nederīgs tāpēc, ka tā paplašinājums ir neparasts.

OpenVPN Connect un OpenVPN 3 Linux ir savi profilu importēšanas un pārvaldības ceļi. Šie produkti var pieņemt profilu un glabāt to savā datubāzē vai pakalpojuma stāvoklī, kas nav tas pats, kas JSON fails, kurš nejauši apraksta serveri.

Citas komponentes pārvaldīta stāvokļa rediģēšana

Ja JSON ir ģenerēts, tā rediģēšana ir sacensība. Darbojošs pakalpojums var to pārrakstīt izslēgšanas laikā, atkārtotas savienošanas laikā vai nākamajā iestatījumu maiņā, un manuāls labojums pazūd bez kļūdas. Dod priekšroku produkta importa komandai, pārvaldības API vai iestatījumu saskarnei, jo šie ceļi atjaunina to iekšējo stāvokli, ko fails attēlo. Fails, kas pēc pārstartēšanas atgriežas, pasaka, kurš ceļš bija noturīgais.

Ja tomēr rediģē ģenerētu failu, vispirms apturi pakalpojumu, izveido dublējumu un veic mazāko iespējamo izmaiņu. Pēc tam pārbaudi, vai pakalpojums palaišanas laikā failu nepārraksta, jo fails, kas palaišanas laikā atgriežas, nozīmē, ka īstais patiesības avots ir citur un izmaiņa nekad nebūtu saglabājusies.

Paroles un iekļautās privātās atslēgas ir atsevišķs jautājums. JSON var pārnēsāt pilnu atslēgu tikpat viegli kā opciju fails, tāpēc uzskati jebkuru eksportu par noslēpumu, turi to prom no koplietotajiem diskiem un aizsedz vērtības pirms struktūras ielīmēšanas foruma jautājumā.

Izmaiņas pārbaude un faila aizsardzība

Pārbaude nav “JSON tiek parsēts”. Parsēšana pierāda tikai to, ka iekavas sakrīt; tā neko nepasaka par to, vai īpašnieks atpazīst atslēgas. Pārbaudi paša produkta stāvokli: aktīvo profilu sarakstu, izvēlēto savienojumu un atkārtotu savienošanu, kas patiešām izmanto jaunās vērtības. Profils, kas parādās sarakstā, bet nekad nekļūst par izvēlēto, joprojām nav lietošanā esošais profils.

Seko līdzi tās komponentes žurnālam, kuru rediģēji, ne tikai VPN klienta žurnālam. Ietvars, kas noraida tavu failu, parasti par to ziņo savā žurnālā, un klients, kas failu nekad nav saņēmis, izskatās identiski klientam, kas saņēmis sliktus iestatījumus.

Saglabā strādājošā faila kopiju un pieraksti produkta versiju, ar kuru testēji. Šie formāti mainās starp laidieniem, un struktūra, kas strādāja pērn, pēc atjauninājuma var tikt noraidīta ar ziņojumu, kurā shēma vispār nav minēta.

Gājiena kopsavilkums: identificē procesu, izlasi tā dokumentāciju, apstiprini, vai fails vispār ir JSON, izmanto atbalstīto rediģēšanas ceļu un pārbaudi ar paša produkta stāvokli. Faila nosaukums nekad neatbildēja ne uz vienu no šiem jautājumiem.

Saistītie raksti