OpenVPN ne startas, kaj la erarmesaĝo montras linion, kiu aspektas tute en ordo: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. La atestilo ne ŝanĝiĝis, la dosiero malfermiĝas en redaktilo, kaj nenio en la vojo aspektas malĝuste. La analizilo ne kontraŭas la nomon de la opcio; ĝi kontraŭas kiom da argumentoj alvenis kun ĝi. Kvar kontroloj solvas preskaŭ ĉiun tian kazon, kaj indas plenumi ilin en ordo de kosto.

Kial la analizilo kulpigas la opcion

Ĉiu agorda linio estas dividita laŭ spacoj kaj laŭ citiloj antaŭ ol iu opcio vidas ĝin. Valoro, kiu enhavas spacon, do alvenas kiel pluraj argumentoj se ĝi ne estas ĉirkaŭita, kaj la opcio, al kiu apartenis la linio, raportas la mision. En Windows la defaŭlta instala dosierujo tion certigas, ĉar C:\Program Files laŭkonstrue staras meze de la vojo. La atestilo neniam malfermiĝas en ĉi tiu eraro, do kontrolo ĉu la dosiero ekzistas pruvas nenion utilan.

La raportita lininombro kutime pravas, kaj la raportita opcio estas tiu, kiu konsumis la linion. Kiam la nomita opcio estas tiu, kiun vi certe neniam skribis, legu la linion super ĝi, ĉar perdita citilo ene de pli frua bloko ŝovas la analizadon. Tiel atestila bloko finfine kulpiĝas pro argumentnombro.

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

Metu citilojn ĉirkaŭ ĉiun vojon kun spaco

Unu paro da duoblaj citiloj ĉirkaŭ la valoro estas la tuta riparo, kaj suprenaj oblikvoj estas akceptataj en Windows, do eskapiĝo neniam fariĝas parto de la problemo. Riparu ĉiun vojopcion en la sama trairo, ĉar la analizilo haltas ĉe la unua malsukceso kaj la sekva simple atendas la sekvan restartigon. La aro kutime inkluzivas ca, cert, key, tls-auth kaj 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"

Serĉo laŭ la dosieruja nomo trovas ĉiun aperon pli rapide ol legi la dosieron. Rulu ĝin antaŭ ol redakti ion ajn, por ke la listo estu kompleta:

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

Movi la profilon al vojo sen spacoj estas valida alternativo, kaj ĝi validas nur se ĉiu vojo moviĝas kun ĝi. Duone migrita profilo reproduktas la saman eraron kun alia dosiernomo, kio estas pli malfacile rimarkebla ĉar la mesaĝo nun montras vojon, kiun vi ĵus kreis. Elektu unu aliron kaj finu ĝin.

Restarigu la reĝimdeklaracion antaŭ la atestiloj

La dua ofta kaŭzo produktas alian mesaĝon kun la sama perdita posttagmezo. Klienta profilo devas deklari sian reĝimon proksime al la supro, kaj tiu deklaracio facile perdiĝas kiam nur la atestilaj blokoj estas algluitaj en novan dosieron. Sen ĝi OpenVPN legas la dosieron kun alia aro da defaŭltoj, kaj la damaĝo aperas multe pli poste kiel konflikto inter opcioj aŭ malsukcesa ensaluto. La mankanta linio estas malmultekosta kontroli kaj multekosta forgesi.

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

Tenu unu direktivon po linio dum vi estas tie. Kungluitaj linioj produktas ĝuste la argumentnombran eraron el la unua sekcio, kaj la raportita linio aspektas prudenta ĉar la kungluiĝo okazis tie, kie la redaktilo volvis la tekston. Legu la krudan linion, ne la prezentitan.

Kodada difekto aspektas kiel opcia nomo

Dosiero konservita kiel UTF-16, kun bajtorda marko, kaŝas sian unuan opcion de la analizilo, kaj vagantaj bajtoj povas alkroĉiĝi al la opcia nomo en la mesaĝo. Konservu la dosieron kiel UTF-8 sen bajtorda marko, poste remalfermu ĝin kaj konfirmu, ke la unua signo estas ordinara litero. Redaktiloj, PowerShell-aldirektado kaj teksto algluita el babila fenestro ĉiuj ŝanĝas la kodadon sen demandi.

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

Bajtorda marko aperas kiel kondukaj markaj bajtoj antaŭ ajna teksto, kaj forigi tiujn signojn permane estas perda movo, ĉar la redaktilo reskribas ilin ĉe la sekva konservo. Anstataŭe rekonservu la dosieron kun eksplicita kodado. Linifinoj estas pli pardonemaj, sed dosiero sen nova linio ĉe la fino ankoraŭ povas kunfandi la lastan direktivon en la antaŭan post redakto.

Kiun kontrolon ruli unue, kaj kial

Komencu per la kodado, ĉar ĝi kostas unu komandon kaj nuligas ĉiun alian legadon de la dosiero. Poste la citiloj, poste la reĝimdeklaracio kaj la aliaj devigaj direktivoj, kaj nur post tiuj la atestiloj, ŝlosiloj kaj akreditaĵoj. Labori en tiu ordo tenas ĉiun paŝon inversigebla, ĉar atestilo anstataŭigita por ripari citilan problemon lasas funkciantan instalon kun nova misfunkcio du redaktojn for de la originalo. La ordo gravas pli ol la unuopaj kontroloj.

Konservu netuŝitan kopion de la dosiero tia, kia la operatoro liveris ĝin. Se posta redakto rompos ĝin, diferenco kontraŭ tiu kopio montras, ĉu moviĝis citilo, nova linio aŭ marka bajto, kio estas pli rapida ol relegi la eraron. La opcia referenco por ĉiu direktivo estas en la OpenVPN-manlibro por la instalita versio.

Rilataj artikoloj