OpenVPN se ne zažene, sporočilo o napaki pa kaže na vrstico, ki je videti pravilna: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. Certifikat se ni spremenil, datoteka se odpre v urejevalniku in na poti ni videti nič narobe. Razčlenjevalnik ne ugovarja imenu možnosti; ugovarja temu, koliko argumentov je prišlo z njo. Štiri preverjanja rešijo skoraj vsak tak primer, in vredno jih je izvesti v vrstnem redu stroškov.

Zakaj razčlenjevalnik krivi možnost

Vsaka vrstica konfiguracije se razdeli na presledke in na narekovaje, preden jo vidi katera koli možnost. Zato vrednost s presledkom prispe kot več argumentov, če ni zajeta v narekovaje, in možnost, ki ji je vrstica pripadala, sporoči neskladje. V Windows to zagotavlja privzeta namestitvena mapa, ker C:\Program Files po zgradbi stoji na sredini poti. Pri tej napaki se certifikat nikoli ne odpre, zato preverjanje, ali datoteka obstaja, ne dokaže nič koristnega.

Navedena številka vrstice je običajno pravilna, navedena možnost pa je tista, ki je vrstico porabila. Ko je imenovana možnost tista, za katero veste, da je nikoli niste napisali, preberite vrstico nad njo, ker izgubljeni narekovaj v prejšnjem bloku premakne razčlenjevanje. Tako je blok s certifikatom na koncu obtožen števila argumentov.

ca C:\Program Files\OpenVPN\config\office-ca.crt

V narekovaje postavite vsako pot s presledkom

En par dvojnih narekovajev okoli vrednosti je celotno popravilo, poševnice naprej pa so v Windows sprejete, zato izogibanje nikoli ne postane del težave. Popravite vse možnosti poti v istem prehodu, ker se razčlenjevalnik ustavi pri prvi napaki, naslednja pa le čaka na naslednji zagon. Nabor običajno vključuje ca, cert, key, tls-auth in auth-user-pass.

ca "C:/Program Files/OpenVPN/config/office-ca.crt"
cert "C:/Program Files/OpenVPN/config/office.crt"
key "C:/Program Files/OpenVPN/config/office.key"

Iskanje po imenu mape najde vsako pojavitev hitreje kot branje datoteke. Zaženite ga pred kakršnim koli urejanjem, da bo seznam popoln:

Select-String -Path .\office.ovpn -Pattern 'Program Files'

Premik profila na pot brez presledkov je veljavna alternativa, in veljavna je le, če se z njim premakne vsaka pot. Na pol prestavljen profil ponovi isto napako z drugim imenom datoteke, kar je težje opaziti, ker sporočilo zdaj kaže na pot, ki ste jo pravkar ustvarili. Izberite en pristop in ga dokončajte.

Obnovite izjavo o načinu pred certifikati

Drugi pogost vzrok da drugačno sporočilo ob istem zapravljenem popoldnevu. Profil odjemalca mora svoj način izjaviti blizu vrha, in ta izjava se zlahka izgubi, ko se v novo datoteko prilepijo le bloki certifikatov. Brez nje OpenVPN datoteko bere z drugačnim naborom privzetih vrednosti, in škoda se pokaže veliko pozneje kot spor med možnostmi ali neuspešna prijava. Manjkajočo vrstico je poceni preveriti in drago pozabiti.

client
dev tun
proto udp
remote vpn.example.net 1194

Dokler ste tam, držite eno direktivo na vrstico. Združene vrstice dajo natanko napako števila argumentov iz prvega razdelka, in navedena vrstica je videti smiselna, ker se je združitev zgodila tam, kjer je urejevalnik prelomil besedilo. Berite surovo vrstico, ne prikazane.

Škoda zaradi kodiranja je videti kot ime možnosti

Datoteka, shranjena kot UTF-16 z oznako vrstnega reda bajtov, skrije svojo prvo možnost pred razčlenjevalnikom, in zablodeli bajti se lahko v sporočilu prilepijo na ime možnosti. Shranite datoteko kot UTF-8 brez oznake vrstnega reda bajtov, nato jo znova odprite in potrdite, da je prvi znak običajna črka. Urejevalniki, preusmeritev v PowerShellu in besedilo, prilepljeno iz okna za klepet, vsi spreminjajo kodiranje, ne da bi vprašali.

Format-Hex .\office.ovpn | Select-Object -First 1

Oznaka vrstnega reda bajtov se pojavi kot vodilni bajti oznake pred vsakim besedilom, in ročno brisanje teh znakov je poražena poteza, ker jih urejevalnik pri naslednjem shranjevanju zapiše nazaj. Namesto tega datoteko znova shranite z izrecnim kodiranjem. Konci vrstic so bolj popustljivi, a datoteka brez nove vrstice na koncu lahko po urejanju vseeno zlije zadnjo direktivo s prejšnjo.

Katero preverjanje najprej in zakaj

Začnite s kodiranjem, ker stane en ukaz in razveljavi vsako drugo branje datoteke. Nato narekovaji, zatem izjava o načinu in druge obvezne direktive, in šele po njih certifikati, ključi in poverilnice. Delo v tem vrstnem redu ohranja vsak korak povraten, ker certifikat, zamenjan zaradi popravka težave z narekovaji, pusti delujočo namestitev z novo okvaro dve urejanji od izvirnika. Vrstni red je pomembnejši od posameznih preverjanj.

Shranite nedotaknjeno kopijo datoteke, kakršno jo je dostavil operater. Če jo poznejše urejanje pokvari, razlika glede na to kopijo pokaže, ali se je premaknil narekovaj, nova vrstica ali bajt oznake, kar je hitreje kot ponovno branje napake. Referenca možnosti za vsako direktivo je v priročniku OpenVPN za nameščeno različico.

Sorodni članki