OpenVPN nem indul el, és a hibaüzenet egy ártatlannak látszó sorra mutat: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. A tanúsítvány nem változott, a fájl megnyílik egy szerkesztőben, és semmi sem tűnik hibásnak az útvonalon. Az elemző nem az opció nevét kifogásolja; azt kifogásolja, hány argumentum érkezett vele. Négy ellenőrzés szinte minden ilyen esetet megold, és érdemes költségsorrendben elvégezni őket.

Miért hibáztatja az elemző az opciót

Minden konfigurációs sort szóközök és idézőjelek mentén bont fel a rendszer, mielőtt bármelyik opció látná. Ezért a szóközt tartalmazó érték több argumentumként érkezik, hacsak nincs idézőjelbe zárva, és a sort birtokló opció jelenti az eltérést. Windowson ezt az alapértelmezett telepítési könyvtár teszi biztossá, mert a C:\Program Files felépítésénél fogva az útvonal közepén van. Ebben a hibában a tanúsítvány soha nem nyílik meg, ezért a fájl létezésének ellenőrzése semmi hasznosat nem bizonyít.

A jelzett sorszám általában helyes, és a jelzett opció az, amelyik elfogyasztotta a sort. Ha a megnevezett opció olyan, amelyről tudja, hogy soha nem írta le, olvassa el a felette lévő sort, mert egy korábbi blokkban elveszett idézőjel eltolja az elemzést. Így kerül végül egy tanúsítványblokk az argumentumszám vádja alá.

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

Tegyen idézőjelet minden szóközt tartalmazó útvonal körül

Egy pár kettős idézőjel az érték körül a teljes javítás, és Windowson a perjelek is elfogadottak, így a karakterkerülés soha nem válik a probléma részévé. Javítsa az összes útvonalopciót ugyanabban a menetben, mert az elemző az első hibánál megáll, a következő pedig egyszerűen a következő újraindításra vár. A készlet általában ezeket tartalmazza: ca, cert, key, tls-auth és 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"

A könyvtár nevére keresve minden előfordulás gyorsabban megkereshető, mint a fájl olvasásával. Futtassa bármilyen szerkesztés előtt, hogy a lista teljes legyen:

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

A profil szóköz nélküli útvonalra költöztetése érvényes alternatíva, és csak akkor érvényes, ha minden útvonal vele együtt mozog. A félig átköltöztetett profil ugyanazt a hibát idézi elő más fájlnévvel, ami nehezebben vehető észre, mert az üzenet most egy épp az imént létrehozott útvonalra mutat. Válasszon egy megközelítést, és fejezze be.

Állítsa vissza a módnyilatkozatot a tanúsítványok előtt

A második gyakori ok más üzenetet ad ugyanazzal az elvesztegetett délutánnal. Az ügyfélprofilnak a módját a fájl elejéhez közel kell nyilatkoznia, és ez a nyilatkozat könnyen elveszik, ha csak a tanúsítványblokkokat illeszti be egy új fájlba. Nélküle az OpenVPN más alapértelmezett készlettel olvassa a fájlt, és a kár sokkal később jelentkezik opciók közötti ütközésként vagy sikertelen bejelentkezésként. A hiányzó sor olcsó ellenőrizni és drága elfelejteni.

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

Amíg ott van, tartson soronként egy direktívát. Az összevont sorok pontosan az első rész argumentumszám-hibáját adják, és a jelzett sor ésszerűnek tűnik, mert az összevonás ott történt, ahol a szerkesztő megtörte a szöveget. A nyers sort olvassa, ne a megjelenítettet.

A kódolási kár opciónévnek látszik

Az UTF-16-ként mentett, bájtsorrend-jelölést is tartalmazó fájl elrejti első opcióját az elemző elől, és a kóbor bájtok hozzátapadhatnak az opció nevéhez az üzenetben. Mentse a fájlt UTF-8-ként bájtsorrend-jelölés nélkül, majd nyissa meg újra, és erősítse meg, hogy az első karakter normál betű. A szerkesztők, a PowerShell-átirányítás és a csevegőablakból beillesztett szöveg mind kérdezés nélkül megváltoztatják a kódolást.

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

A bájtsorrend-jelölés vezető jelölőbájtokként jelenik meg minden szöveg előtt, és ezeket a karaktereket kézzel törölni vesztes lépés, mert a szerkesztő a következő mentéskor visszaírja őket. Mentse inkább újra a fájlt kifejezett kódolással. A soremelések megengedőbbek, de a végén sortörést nem tartalmazó fájl szerkesztés után még összevonhatja az utolsó direktívát az előzővel.

Melyik ellenőrzés jöjjön először, és miért

Kezdje a kódolással, mert egyetlen parancsba kerül, és érvényteleníti a fájl minden más olvasatát. Aztán az idézőjelek, majd a módnyilatkozat és a többi kötelező direktíva, és csak ezután a tanúsítványok, kulcsok és hitelesítő adatok. Az ebben a sorrendben végzett munka minden lépést visszafordíthatóvá tesz, mert az idézőjelprobléma javítására kicserélt tanúsítvány működő telepítést hagy maga után egy új hibával, amely két szerkesztésre van az eredetitől. A sorrend többet számít, mint az egyes ellenőrzések.

Tartson érintetlen másolatot a fájlról olyan állapotban, ahogy az üzemeltető átadta. Ha egy későbbi szerkesztés elrontja, az ahhoz a másolathoz készített különbség megmutatja, hogy elmozdult-e egy idézőjel, egy sortörés vagy egy jelölőbájt, ami gyorsabb, mint újraolvasni a hibát. Az egyes direktívák opcióleírása a telepített verzió OpenVPN kézikönyvében található.

Kapcsolódó cikkek