Jo fine in bestân mei de namme config.json, it neamt in VPN-tsjinner en de oanname folget daliks: dit moat de OpenVPN-ferbining wêze. Faak is dat net sa. In JSON-bestân mei dy namme kin by in buroblêd-frontend hearre dy't de klant start, by in daemon dy't syn eigen ynstellings bewarret, of by it eksportformaat fan in produkt, en elk dêrfan hat syn eigen skema.

De bestânsnamme is de minst nuttige oanwizing. Begjin by it proses dat it bestân lêst, kontrolearje dan oft it formaat dat it ferwachtet wol JSON is, en beslút pas dêrnei oft it bewurkjen fan it bestân de stipe wize is om eat te feroarjen.

Begjin by it proses, net by de bestânsnamme

Sjoch wat der wier rint. In tsjinst-ienheid, in startskript of in applikaasje yn ’e taakbalke sil it binaire bestân neame dat it start en faak it konfiguraasjepaad dat it trochjaan. De map dêr’t it bestân yn stiet is in twadde oanwizing: applikaasje-datamappen, tsjinstkonfiguraasjemappen en brûkersprofylmappen ferwize nei ferskillende eigners.

Lês dan de dokumintaasje fan it produkt dat dat ûnderdiel besit. As de JSON by in wrapper heart, binne syn kaaien de kaaien fan de wrapper, en in leauwensweardich útsjend objekt boud neffens it foarbyld fan in oar produkt sil ôfwiisd of stilwei negearre wurde.

Twa bestannen mei deselde namme yn ferskillende mappen binne in gewoane falstrik. Ien kin generearre steat wêze dy’t de tsjinst by elke start weromskriuwt, en de oare kin it sjabloan wêze dat in minske bewurkje moat. It ferkearde feroarje jout in oplossing dy’t hâldt oant de folgjende werstart.

Wat in Community OpenVPN-profyl eins is

Community OpenVPN 2.6 lêst in tekstformaat basearre op opsjes. In profyl is in rige rjochtlinen: in rigel foar klantmodus, in apparaatrigel, in ekstern einpunt, plus opsjes foar identiteit, sifering en rûtes, en it kin sertifikaat- en kaaimateriaal yn ynline-blokken ynbêde.

Dat formaat wurdt rigel foar rigel troch de klant sels parse. In JSON-dokumint trochjaan fia de config-opsje skeakelet gjin JSON-parser oan; de earste rigel sil as in ûnbekende rjochtline ôfwiisd wurde. In JSON-bestân omneame sadat it op .ovpn einiget, konvertearret de ynhâld ek net, en in jildich opsjebestân wurdt net ûnjildich om’t syn taheaksel ûngewoan is.

OpenVPN Connect en OpenVPN 3 Linux hawwe har eigen ymport- en behearspaden foar profylen. Dy produkten kinne in profyl oannimme en it yn har eigen databank of tsjinststeat bewarje, wat net itselde is as in JSON-bestân dat tafallich in tsjinner beskriuwt.

Steat bewurkje dy’t in oar ûnderdiel besit

As de JSON generearre is, is it bewurkjen in wedrin. In rinnende tsjinst kin it weromskriuwe by it ôfsluten, by it opnij ferbinen of by de folgjende ynstellingsferoaring, en in hânmjittige bewurking ferdwynt sûnder flater. Foar kar komme it ymportkommando fan it produkt, de behears-API of de ynstellingsynterface, want dy paden bywurkje de ynterne steat dy’t it bestân fertsjintwurdiget. In bestân dat nei in werstart weromkomt, fertelt jo hokker paad de duorsume wie.

As jo dochs in generearre bestân bewurkje, stopje dan earst de tsjinst, hâld in reservekopy en meitsje de lytste mooglike feroaring. Kontrolearje dan oft de tsjinst it bestân by de start weromskriuwt, want in bestân dat by de start weromkomt betsjut dat de echte boarne fan wierheid earne oars is en dat de bewurking nea bliuwe soe.

Wachtwurden en ynline privee kaaien binne in apart punt. JSON kin in folsleine kaai like maklik drage as in opsjebestân, behannelje elke eksport dus as geheim, hâld it bûten dielde skiven en skras de wearden foardat jo struktuer yn in forumboarne plakke.

It feroarjen ferifiearje en it bestân beskermje

Ferifikaasje is net “de JSON parset”. Parsen bewiist allinnich dat de krulhaken byinoar passe; it seit neat oer oft de eigner de kaaien werkenne. Kontrolearje de eigen steat fan it produkt: de list fan aktive profylen, de keazen ferbining en in opnij ferbinen dat echt de nije wearden brûkt. In profyl dat yn ’e list ferskynt mar nea de keazen iene wurdt, is noch altyd net it profyl dat brûkt wurdt.

Hâld it log fan it ûnderdiel dat jo bewurke hawwe yn ’e gaten, net allinnich dat fan ’e VPN-klant. In wrapper dy’t jo bestân ôfwiist, meldt dat meastentiids yn syn eigen log, en in klant dy’t it bestân nea krigen hat, sjocht der itselde út as in klant dy’t minne ynstellings krigen hat.

Bewarje in kopy fan it wurkjende bestân en skriuw de ferzje fan it produkt op dêr’t jo tsjin testen hawwe. Dizze formaten feroarje tusken útjeften, en in struktuer dy’t ferline jier wurke, kin nei in upgrade ôfwiisd wurde mei in berjocht dat it skema hielendal net neamt.

Gearfetting fan ’e trochrûn: identifisearje it proses, lês syn dokumintaasje, befêstigje oft it bestân wol JSON is, brûk it stipe bewurkingspaad en ferifiearje fia de eigen steat fan it produkt. De bestânsnamme hat nea ien fan dy fragen beantwurde.

Relatearre artikelen