Firwat OpenVPN ënner Windows ca seet: e Pad ouni Anführungszeechen, net en schlechten Zertifikat
E Program Files-Pad ouni Anführungszeechen zerfällt a méi Argumenter, an de Parser beschëllegt d’Optioun. Kontrolléiert d’Anführungszeechen, d’Clientlinn an d’Kodéierung.
OpenVPN start net, an d’Fehlermeldung weist op eng Linn, déi ganz normal ausgesäit: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. Den Zertifikat huet sech net geännert, d’Fichier geet an engem Editor op, an um Pad gesäit näischt falsch aus. De Parser protestéiert net géint den Numm vun der Optioun; hie protestéiert dogéint, wéi vill Argumenter mat hir ukomm sinn. Véier Kontrollen hëllefen bal all Fall ze léisen, an et lount sech, se an der Reiefolleg vun de Käschten ze maachen.
Firwat de Parser d’Optioun beschëllegt
All Konfiguratiounslinn gëtt op Plazen an op Anführungszeechen opgedeelt, ier eng Optioun se iwwerhaapt gesäit. Dofir kënnt en Wäert mat enger Plaz als méi Argumenter un, wann en net agefaasst ass, an d’Optioun, déi d’Linn hat, mellt d’Differenz. Ënner Windows mécht de Standardinstallatiounsverzeechnes dat sécher, well C:\Program Files vun der Konstruktioun hier an der Mëtt vum Pad steet. Den Zertifikat gëtt bei dësem Feeler ni opgemaach, dofir beweist d’Kontroll, ob d’Fichier existéiert, näischt Nëtzleches.
Déi gemellt Linnennummer ass meeschtens richteg, an déi gemellt Optioun ass déi, déi d’Linn verbraucht huet. Wann déi genannt Optioun eng ass, déi Dir wësst, datt Dir se ni geschriwwen hutt, liest d’Linn driwwer, well en Anführungszeechen, dat an engem fréiere Block verluer gaang ass, d’Parséierung verréckelt. Sou gëtt Schlussendlech e Zertifikatsblock fir d’Zuel vun den Argumenter beschëllegt.
ca C:\Program Files\OpenVPN\config\office-ca.crtSetzt Anführungszeechen ëm all Pad mat enger Plaz
Ee Paar duebel Anführungszeechen ëm de Wäert ass déi ganz Reparatur, an ënner Windows ginn d’Schréistrich no vir akzeptéiert, dofir gëtt Escaping ni en Deel vum Problem. Korrigéiert all Padoptioun am selwechten Duerchgang, well de Parser beim éischte Feeler stoppt an déi nächst just op den nächsten Neistart waart. De Set ëmfaasst meeschtens ca, cert, key, tls-auth an 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"Eng Sich nom Verzeechnesnumm fënnt all Virkomme méi séier wéi d’Fichier ze liesen. Féiert se virun enger Ännerung aus, sou datt d’Lëscht komplett ass:
Select-String -Path .\office.ovpn -Pattern 'Program Files'D’Profil op e Pad ouni Plazen ze plënneren ass eng valabel Alternativ, an se ass nëmme valabel, wann all Pad matgeplënnert gëtt. En hallef geplënnert Profil reproduzéiert dee selwechte Feeler mat engem aneren Dateinumm, wat méi schwéier ze gesinn ass, well d’Meldung elo op e Pad weist, dat Dir just ugeluecht hutt. Wielt eng Approche a maacht se fäerdeg.
Sammelt d’Modusdeklaratioun virun den Zertifikater
Déi zweet heefeg Ursaach gëtt eng aner Meldung mam selwechte verluerenen Nomëtteg. E Clientprofil muss säi Modus no uewen deklaréieren, an déi Deklaratioun geet liicht verluer, wann nëmmen d’Zertifikatsbléck an eng nei Fichier gesat ginn. Ouni hir liest OpenVPN d’Fichier mat engem anere Set vu Standardwäerter, an de Schued weist sech vill méi spéit als Konflikt tëschent Optiounen oder als feelgeschloen Umeldung. Déi fehlend Linn ass bëlleg ze kontrolléieren a deier ze vergiessen.
client
dev tun
proto udp
remote vpn.example.net 1194Halt eng Direktiv pro Linn, soulaang Dir do sidd. Zesummengesat Linne ginn genee de Feeler vun der Argumentzuel aus dem éischten Deel, an déi gemellt Linn gesäit vernünfteg aus, well d’Zesummesetzung do geschitt ass, wou den Editor den Text ëmgebrach huet. Liest d’réi Linn, net déi ugewise.
Kodéierungsschued gesäit wéi en Optiounsnumm aus
Eng Fichier, déi als UTF-16 mat Byte-Order-Mark gespäichert gouf, verstoppt hir éischt Optioun virum Parser, a verierert Byten kënnen sech an der Meldung un den Optiounsnumm hänken. Späichert d’Fichier als UTF-8 ouni Byte-Order-Mark, öffnet se duerno erëm a bestätegt, datt dat éischt Zeechen en normale Buschtaf ass. Editoren, PowerShell-Ëmleedung an Text, deen aus engem Chatfënster agefüügt gouf, änneren d’Kodéierung ouni ze froen.
Format-Hex .\office.ovpn | Select-Object -First 1En Byte-Order-Mark erschéingt als féierend Markéierungsbyten virun all Text, an déi Zeechen händlech ze läschen ass en verluere Schach, well den Editor se beim nächste Späicheren zréckschreift. Späichert d’Fichier amplaz mat enger expliziter Kodéierung. Linnenendungen si méi duuss, awer eng Fichier ouni Zeilëmbroch um Enn kann déi lescht Direktiv nach ëmmer mat där virdru fusionéieren, nodeems se geännert gouf.
Wéi eng Kontroll fir d’éischt, a firwat
Fänkt mat der Kodéierung un, well se ee Kommando kascht a jidwer aner Liesung vun der Fichier ongülteg mécht. Dann d’Anführungszeechen, duerno d’Modusdeklaratioun an déi aner obligatoresch Direktiven, an eréischt duerno d’Zertifikater, d’Schlësselen an d’Zougangsdaten. An där Reiefolleg ze schaffe hält all Schrëtt ëmkehrbar, well en Zertifikat, deen ausgetosch gouf, fir e Problem mat Anführungszeechen ze behiewen, eng funktionéierend Installatioun mat engem neie Feeler hannerléisst, deen zwee Ännerungen vum Original ewech ass. D’Reiefolleg zielt méi wéi déi eenzel Kontrollen.
Halt eng onberüürt Kopie vun der Fichier, sou wéi den Operateur se geliwwert huet. Wann eng spéider Ännerung se zerbricht, weist en Ënnerscheed zu där Kopie, ob en Anführungszeechen, eng nei Linn oder e Markéierungsbyte geréckelt ass, wat méi séier ass wéi de Feeler nach eng Kéier ze liesen. D’Optiounsreferenz fir all Direktiv steet am OpenVPN-Handbuch fir déi installéiert Versioun.