Kāpēc OpenVPN sistēmā Windows saka ca: ceļš bez pēdiņām, nevis slikts sertifikāts
Program Files ceļš bez pēdiņām sadalās vairākos argumentos, un parsētājs vaino opciju. Pārbaudiet pēdiņas, klienta rindu un kodējumu.
OpenVPN neieslēdzas, un kļūdas ziņojums norāda uz rindu, kas izskatās kārtībā: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. Sertifikāts nav mainījies, fails atveras redaktorā, un ceļā nekas neizskatās nepareizi. Parsētājs neiebilst pret opcijas nosaukumu; tas iebilst pret to, cik argumentu ar to kopā atnāca. Četras pārbaudes atrisina gandrīz katru šādu gadījumu, un tās ir vērts veikt izmaksu secībā.
Kāpēc parsētājs vaino opciju
Katra konfigurācijas rinda tiek sadalīta pēc atstarpēm un pēc pēdiņām, pirms to redz jebkura opcija. Tāpēc vērtība ar atstarpi atnāk kā vairāki argumenti, ja tā nav ietverta, un rindas īpašniece opcija ziņo par neatbilstību. Sistēmā Windows to padara drošu instalācijas noklusējuma mape, jo C:\Program Files pēc uzbūves atrodas ceļa vidū. Šajā kļūdā sertifikāts nekad netiek atvērts, tāpēc pārbaude, vai fails pastāv, neko lietderīgu nepierāda.
Norādītais rindas numurs parasti ir pareizs, un norādītā opcija ir tā, kas iztērēja rindu. Kad nosauktā opcija ir tāda, ko jūs zināt, ka nekad neesat rakstījis, izlasiet rindu virs tās, jo iepriekšējā blokā pazaudētas pēdiņas pabīda parsēšanu. Tā sertifikāta bloks galu galā tiek vainots argumentu skaitā.
ca C:\Program Files\OpenVPN\config\office-ca.crtIelieciet pēdiņās katru ceļu ar atstarpi
Viens pāris dubulto pēdiņu ap vērtību ir viss labojums, un sistēmā Windows slīpsvītras uz priekšu tiek pieņemtas, tāpēc aizbēgšana nekad nekļūst par problēmas daļu. Izlabojiet visas ceļa opcijas vienā piegājienā, jo parsētājs apstājas pie pirmās kļūdas, un nākamā vienkārši gaida nākamo restartu. Kopa parasti ietver ca, cert, key, tls-auth un 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"Meklēšana pēc mapes nosaukuma atrod katru gadījumu ātrāk nekā faila lasīšana. Palaidiet to pirms jebkuras rediģēšanas, lai saraksts būtu pilnīgs:
Select-String -Path .\office.ovpn -Pattern 'Program Files'Profila pārvietošana uz ceļu bez atstarpēm ir derīga alternatīva, un tā ir derīga tikai tad, ja kopā pārvietojas katrs ceļš. Daļēji pārvietots profils atkārto to pašu kļūdu ar citu faila nosaukumu, un to pamanīt ir grūtāk, jo ziņojums tagad norāda uz ceļu, ko tikko izveidojāt. Izvēlieties vienu pieeju un pabeidziet to.
Atjaunojiet režīma deklarāciju pirms sertifikātiem
Otrais izplatītais cēlonis dod citu ziņojumu ar to pašu izniekoto pēcpusdienu. Klienta profilam savs režīms jādeklarē netālu no augšas, un šī deklarācija viegli pazūd, ja jaunā failā iekopē tikai sertifikātu blokus. Bez tās OpenVPN lasa failu ar citu noklusējuma vērtību kopu, un bojājums parādās daudz vēlāk kā konflikts starp opcijām vai neizdevusies pieteikšanās. Trūkstošo rindu ir lēti pārbaudīt un dārgi aizmirst.
client
dev tun
proto udp
remote vpn.example.net 1194Kamēr esat tur, ievērojiet vienu direktīvu vienā rindā. Savienotās rindas dod tieši pirmās sadaļas argumentu skaita kļūdu, un norādītā rinda izskatās saprātīga, jo savienošana notika tur, kur redaktors pārlauza tekstu. Lasiet neapstrādāto rindu, nevis parādīto.
Kodējuma bojājums izskatās kā opcijas nosaukums
Fails, kas saglabāts kā UTF-16 ar baitu kārtības atzīmi, paslēpj savu pirmo opciju no parsētāja, un klejojošie baiti var pielipt opcijas nosaukumam ziņojumā. Saglabājiet failu kā UTF-8 bez baitu kārtības atzīmes, pēc tam atveriet to vēlreiz un pārliecinieties, ka pirmā rakstzīme ir parasts burts. Redaktori, PowerShell novirzīšana un no tērzēšanas loga ielīmēts teksts visi maina kodējumu, nejautājot.
Format-Hex .\office.ovpn | Select-Object -First 1Baitu kārtības atzīme parādās kā vadošie atzīmes baiti pirms jebkura teksta, un šo rakstzīmju dzēšana ar roku ir zaudējošs gājiens, jo redaktors tās ieraksta atpakaļ nākamajā saglabāšanā. Tā vietā saglabājiet failu vēlreiz ar skaidru kodējumu. Rindu beigas ir piekāpīgākas, bet fails bez jaunas rindas beigās pēc rediģēšanas tomēr var sapludināt pēdējo direktīvu ar iepriekšējo.
Kuru pārbaudi veikt vispirms un kāpēc
Sāciet ar kodējumu, jo tas maksā vienu komandu un atceļ jebkuru citu faila lasījumu. Tad pēdiņas, pēc tam režīma deklarācija un pārējās obligātās direktīvas, un tikai pēc tām sertifikāti, atslēgas un pieteikšanās dati. Darbs šādā secībā saglabā katru soli atgriežamu, jo sertifikāts, kas nomainīts, lai izlabotu pēdiņu problēmu, atstāj strādājošu instalāciju ar jaunu bojājumu divu rediģējumu attālumā no oriģināla. Secība ir svarīgāka par atsevišķām pārbaudēm.
Glabājiet neskartu faila kopiju tādu, kādu to piegādāja operators. Ja vēlāka rediģēšana to salauž, atšķirība pret šo kopiju parāda, vai ir pārvietojusies pēdiņa, jauna rinda vai atzīmes baits, un tas ir ātrāk nekā kļūdas atkārtota lasīšana. Katras direktīvas opciju uzziņa ir instalētās versijas OpenVPN rokasgrāmatā.