Windows'ta OpenVPN neden ca diyor: tırnaksız bir yol, kötü bir sertifika değil
Tırnaksız Program Files yolu birkaç argümana bölünür ve ayrıştırıcı seçeneği suçlar. Tırnakları, istemci satırını ve kodlamayı kontrol edin.
OpenVPN başlamıyor ve hata iletisi doğru görünen bir satırı gösteriyor: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. Sertifika değişmedi, dosya bir düzenleyicide açılıyor ve yolda yanlış görünen bir şey yok. Ayrıştırıcı seçeneğin adına itiraz etmiyor; onunla birlikte kaç argümanın geldiğine itiraz ediyor. Dört kontrol bu tür durumların neredeyse tamamını çözer ve maliyet sırasına göre yapılmalarına değer.
Ayrıştırıcı seçeneği neden suçlar
Her yapılandırma satırı, herhangi bir seçenek onu görmeden önce boşluklara ve tırnaklara göre bölünür. Bu yüzden boşluk içeren bir değer tırnak içine alınmadıkça birkaç argüman olarak gelir ve satırın sahibi olan seçenek uyuşmazlığı bildirir. Windows'ta varsayılan kurulum dizini bunu kesinleştirir, çünkü C:\Program Files yapısı gereği yolun ortasındadır. Bu hatada sertifika hiçbir zaman açılmaz, dolayısıyla dosyanın var olup olmadığını kontrol etmek yararlı hiçbir şey kanıtlamaz.
Bildirilen satır numarası genellikle doğrudur ve bildirilen seçenek satırı tüketen seçenektir. Adı geçen seçenek hiç yazmadığınızı bildiğiniz bir seçenekse, üstündeki satırı okuyun, çünkü önceki bir blokta kaybolan tırnak ayrıştırmayı kaydırır. Böylece sertifika bloğu sonunda argüman sayısından sorumlu tutulur.
ca C:\Program Files\OpenVPN\config\office-ca.crtBoşluk içeren her yolu tırnak içine alın
Değerin çevresindeki bir çift çift tırnak onarımın tamamıdır ve Windows'ta eğik çizgiler kabul edilir, bu yüzden kaçış hiçbir zaman sorunun parçası olmaz. Her yol seçeneğini aynı geçişte düzeltin, çünkü ayrıştırıcı ilk hatada durur ve bir sonraki yalnızca sonraki yeniden başlatmayı bekler. Küme genellikle ca, cert, key, tls-auth ve auth-user-pass içerir.
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"Dizin adına göre arama, her olayı dosyayı okumaktan daha hızlı bulur. Herhangi bir düzenlemeden önce çalıştırın, liste tam olsun:
Select-String -Path .\office.ovpn -Pattern 'Program Files'Profili boşluksuz bir yola taşımak geçerli bir alternatiftir ve yalnızca her yol onunla birlikte taşınırsa geçerlidir. Yarı taşınmış profil aynı hatayı başka bir dosya adıyla tekrarlar ve bunu fark etmek daha zordur çünkü ileti artık yeni oluşturduğunuz yolu gösterir. Bir yaklaşım seçin ve onu tamamlayın.
Mod bildirimini sertifikalardan önce geri getirin
İkinci yaygın neden, aynı boşa harcanmış öğleden sonrayla başka bir ileti verir. İstemci profili modunu üst kısma yakın bildirmek zorundadır ve yeni bir dosyaya yalnızca sertifika blokları yapıştırıldığında bu bildirim kolayca kaybolur. O olmadan OpenVPN dosyayı farklı bir varsayılan kümesiyle okur ve zarar çok sonra seçenekler arasında çakışma ya da başarısız oturum açma olarak ortaya çıkar. Eksik satırı kontrol etmek ucuz, unutmak pahalıdır.
client
dev tun
proto udp
remote vpn.example.net 1194Oradayken satır başına bir yönerge tutun. Birleştirilmiş satırlar ilk bölümdeki argüman sayısı hatasını tam olarak verir ve bildirilen satır makul görünür çünkü birleştirme düzenleyicinin metni kırdığı yerde olmuştur. Gösterilen satırı değil, ham satırı okuyun.
Kodlama hasarı bir seçenek adı gibi görünür
UTF-16 olarak bayt sırası işaretiyle kaydedilen bir dosya, ilk seçeneğini ayrıştırıcıdan gizler ve başıboş baytlar iletide seçeneğin adına yapışabilir. Dosyayı bayt sırası işareti olmadan UTF-8 olarak kaydedin, sonra yeniden açın ve ilk karakterin normal bir harf olduğunu doğrulayın. Düzenleyiciler, PowerShell yönlendirmesi ve sohbet penceresinden yapıştırılan metin, kodlamayı sormadan değiştirir.
Format-Hex .\office.ovpn | Select-Object -First 1Bayt sırası işareti herhangi bir metinden önce baştaki işaret baytları olarak görünür ve bu karakterleri elle silmek kaybedilen bir hamledir çünkü düzenleyici onları bir sonraki kayıtta geri yazar. Bunun yerine dosyayı açık bir kodlamayla yeniden kaydedin. Satır sonları daha bağışlayıcıdır, ancak sonunda yeni satır olmayan bir dosya düzenlemeden sonra son yönergeyi yine de öncekine birleştirebilir.
Hangi kontrol önce ve neden
Kodlamayla başlayın, çünkü tek bir komuta mal olur ve dosyanın diğer her okumasını geçersiz kılar. Sonra tırnaklar, ardından mod bildirimi ve diğer zorunlu yönergeler, ve ancak onlardan sonra sertifikalar, anahtarlar ve kimlik bilgileri. Bu sırayla çalışmak her adımı geri alınabilir tutar, çünkü tırnak sorununu düzeltmek için değiştirilen bir sertifika, çalışan bir kurulumu özgün durumdan iki düzenleme uzakta yeni bir arızayla bırakır. Sıra, tek tek kontrollerden daha önemlidir.
Dosyanın işletmecinin teslim ettiği hâliyle dokunulmamış bir kopyasını saklayın. Sonraki bir düzenleme onu bozarsa, o kopyayla fark bir tırnağın, yeni bir satırın ya da işaret baytının kayıp kaymadığını gösterir ve bu hatayı yeniden okumaktan hızlıdır. Her yönergenin seçenek başvurusu, kurulu sürümün OpenVPN kılavuzunda yer alır.