Zašto OpenVPN na Windowsu javlja ca: putanja bez navodnika, a ne loš certifikat
Putanja do Program Files bez navodnika dijeli se na nekoliko argumenata pa parser okrivljuje opciju. Provjerite navodnike, redak klijenta i kodiranje.
OpenVPN se ne pokreće, a poruka o grešci pokazuje na redak koji izgleda posve ispravno: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. Certifikat se nije promijenio, datoteka se otvara u uređivaču i ništa na putanji ne izgleda pogrešno. Parser ne prigovara imenu opcije; prigovara tome koliko je argumenata stiglo s njom. Četiri provjere rješavaju gotovo svaki takav slučaj i vrijedi ih izvesti po redu troška.
Zašto parser okrivljuje opciju
Svaki se redak konfiguracije dijeli na bjeline i na navodnike prije nego što ga ijedna opcija vidi. Zato vrijednost koja sadrži razmak dolazi kao nekoliko argumenata ako nije obuhvaćena navodnicima, a opcija kojoj je redak pripadao prijavljuje nesklad. Na Windowsu to čini sigurnim zadani instalacijski direktorij, jer C:\Program Files po samoj konstrukciji stoji na sredini putanje. Certifikat se u ovoj grešci nikada ne otvara, pa provjera postoji li datoteka ne dokazuje ništa korisno.
Prijavljeni broj retka obično je točan, a prijavljena opcija je ona koja je potrošila redak. Kad je navedena opcija ona koju sigurno nikada niste napisali, pročitajte redak iznad nje, jer izgubljeni navodnik unutar ranijeg bloka pomiče parsiranje. Tako blok s certifikatom na kraju bude okrivljen za broj argumenata.
ca C:\Program Files\OpenVPN\config\office-ca.crtPod navodnike svaku putanju s razmakom
Jedan par dvostrukih navodnika oko vrijednosti cijeli je popravak, a kose crte prema naprijed prihvaćene su na Windowsu pa izbjegavanje nikada ne postane dio problema. Popravite svaku opciju putanje u istom prolazu, jer parser staje na prvom neuspjehu a sljedeći samo čeka sljedeće pokretanje. Skup obično uključuje ca, cert, key, tls-auth i 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"Pretraga po imenu direktorija nalazi svako pojavljivanje brže od čitanja datoteke. Pokrenite je prije ikakva uređivanja da popis bude potpun:
Select-String -Path .\office.ovpn -Pattern 'Program Files'Premještanje profila na putanju bez razmaka valjana je alternativa i valjana je samo ako se s njim premjesti svaka putanja. Napola premješten profil ponavlja istu grešku s drugim imenom datoteke, što je teže uočiti jer poruka sada pokazuje na putanju koju ste upravo stvorili. Odaberite jedan pristup i dovršite ga.
Vratite deklaraciju načina rada prije certifikata
Drugi čest uzrok daje drugačiju poruku uz isto izgubljeno poslijepodne. Profil klijenta mora prijaviti svoj način rada pri vrhu, a ta se deklaracija lako izgubi kad se u novu datoteku zalijepe samo blokovi s certifikatima. Bez nje OpenVPN datoteku čita s drugim skupom zadanih vrijednosti, a šteta se pojavi mnogo kasnije kao sukob među opcijama ili neuspješna prijava. Redak koji nedostaje jeftin je za provjeru, a skup za zaborav.
client
dev tun
proto udp
remote vpn.example.net 1194Zadržite jednu direktivu po retku dok ste tamo. Spojeni retci daju točno grešku broja argumenata iz prvog odjeljka, a prijavljeni redak izgleda razumno jer se spajanje dogodilo ondje gdje je uređivač prelomio tekst. Čitajte sirovi redak, a ne prikazani.
Oštećenje kodiranja izgleda kao ime opcije
Datoteka spremljena kao UTF-16, zajedno s oznakom redoslijeda bajtova, skriva svoju prvu opciju od parsera, a zalutali bajtovi mogu se prilijepiti uz ime opcije u poruci. Spremite datoteku kao UTF-8 bez oznake redoslijeda bajtova, zatim je ponovno otvorite i potvrdite da je prvi znak obično slovo. Uređivači, preusmjeravanje u PowerShellu i tekst zalijepljen iz prozora za razgovor mijenjaju kodiranje bez pitanja.
Format-Hex .\office.ovpn | Select-Object -First 1Oznaka redoslijeda bajtova pojavljuje se kao vodeći bajtovi oznake prije ikakva teksta, a ručno brisanje tih znakova gubitnički je potez jer ih uređivač vraća pri sljedećem spremanju. Umjesto toga ponovno spremite datoteku s izričitim kodiranjem. Krajevi redaka su popustljiviji, ali datoteka bez novog retka na kraju ipak može spojiti posljednju direktivu s prethodnom nakon uređivanja.
Koju provjeru izvesti prvo i zašto
Počnite s kodiranjem, jer stoji jednu naredbu i poništava svako drugo čitanje datoteke. Zatim navodnici, pa deklaracija načina rada i ostale obavezne direktive, a tek nakon njih certifikati, ključevi i vjerodajnice. Rad u tom redu drži svaki korak povratnim, jer certifikat zamijenjen da bi se popravio problem s navodnicima ostavlja radnu instalaciju s novim kvarom dva uređivanja od izvornika. Red je važniji od pojedinačnih provjera.
Čuvajte netaknutu kopiju datoteke onakvom kakvom ju je operater isporučio. Ako je kasnije uređivanje pokvari, razlika prema toj kopiji pokazuje je li se pomaknuo navodnik, novi redak ili bajt oznake, što je brže od ponovnog čitanja greške. Referenca opcija za svaku direktivu nalazi se u priručniku za OpenVPN za instaliranu verziju.