Profil indirilir, içe aktarılır ve sonra dosyanın 12 numaralı satırında keysize adını veren bir Unrecognized option mesajıyla durur. Hesapta hiçbir şey değişmedi ve sunucu hâlâ diğer istemcileri kabul ediyor. Değişen istemcinin kendisidir: Ubuntu 24.04,OpenVPN 2.6 kurar, oysa dışa aktarma 2.4 için yazılmıştı. Onarım kısa bir silme dizisidir ve sıra önemlidir çünkü her eski seçenek, bir sonraki hiç okunmadan ayrıştırmayı durdurur.

Dosyaya dokunmadan önce hata satırını okuyun

OpenVPN, dosyayı ve ayrıştırmanın durduğu satırı adlandırır, bu yüzden her çalıştırmada yalnızca bir sorunu düzeltebilirsiniz. Profili masaüstü uygulaması yerine terminalden başlatın, çünkü uygulama genellikle stderr'i yutar ve satır numarası aldığınız tek güvenilir işarettir: sudo openvpn --config /etc/openvpn/client/provider.ovpn. O satırı düzeltin, yeniden çalıştırın ve bir sonraki hatanın farklı bir seçeneği adlandırmasını bekleyin.

Ayrıştırma hatası her zaman herhangi bir TLS el sıkışmasından önce görünür, bu yüzden sertifikadan söz eden bir mesaj sözdizimi aşamasını çoktan geçmiştir. Bu ayrım, yalnızca kimlik doğrulamada başarısız olan bir dosyayı düzenlemenizi engeller. Mesajın ortasını değil ilk kelimesini okuyun.

Üç hata sınıfı, üç farklı onarım

Eski dışa aktarmalar üç ayırt edilebilir şekilde başarısız olur ve bunları tek bir soruna indirgemek, insanların hiç bozulmamış paketleri yeniden kurmasının nedenidir. Mesajın ifadesi, dosyayı açmadan önce hangi sınıfta olduğunuzu söyler.

  • Ayrıştırma hataları bir dosya ve satır adlandırır ve herhangi bir trafik oluşmadan durur.
  • Anlaşma hataları bağlanır, sonra iki ucun ortak bir şifre veya kabul edilebilir bir veri kanalı üzerinde anlaşamadığını bildirir.
  • Kimlik doğrulama hataları en uzağa gider ve bir sertifika, kullanıcı veya reddedilen kimlik bilgisi adlandırır.

Profil düzenlemesi yalnızca ilk sınıfı düzeltir. Anlaşma, tünelin iki ucunda da bir karar gerektirir ve reddedilen kimlik bilgisi hiç de sözdizimi sorunu değildir. Mesajınız ortak bir şifre veya veri kanalından söz ediyorsa aşağıdaki silmeler hiçbir şeyi değiştirmez.

2.6'nın kaldırdığı seçenekleri bu sırayla silin

Bu satırların her biri ayrıştırmayı kendi başına durdurur, bu yüzden istemci bunları tek tek bildirir. Listede aşağı inin ve her silmeden sonra yeniden çalıştırın.

Önce keysize satırını kaldırın, çünkü modern bir karşılığı yoktur ve varlığı genellikle mevcut istemcinin zaten reddettiği bir şifreyi işaret eder. Sonra ncp-disable satırını kaldırın; şifre anlaşmasını denetliyordu, 2.5'te kullanımdan kaldırıldı ve 2.6'da kayboldu. ns-cert-type server yerine, aynı niyeti desteklenen bir kontrolle belirten remote-cert-tls server kullanın.2.6 değişiklik geçmişi kalan kaldırmaları karşılıklarının yanında listeler, böylece ayrıştırıcının hâlâ reddettiği her şeyin belgelenmiş bir yanıtı vardır.

İlk düzenlemeden önce orijinal profilin bir kopyasını saklayın. Sağlayıcılar dışa aktarmaları yeniden üretir ve dokunulmamış dosyayla bir diff, değişikliklerinizi onlarınkinden ayırmanın en hızlı yoludur. Bir silme istemcinin başlamasını sağlıyor ama tünel hâlâ başarısız oluyorsa,anlaşma sınıfına geçmişsinizdir ve kalan satırlar neden değildir. İstemci sürümünü dosya adına koyun ki bir sonraki kişi düzenlemelerin hangi sürümü hedeflediğini bilsin.

BF-CBC'yi yalnızca sınırlı bir yedek olarak çalışır durumda tutun

Bazı sağlayıcılar hâlâ BF-CBC üzerinde sonlanır; OpenVPN 2.6 bunu yardım olmadan anlaşmaz çünkü şifrenin 64 bitlik bir bloğu vardır. Dar onarım, bir yedek listesi ve OpenSSL legacy sağlayıcısıdır, tüm istemciyi eski sürüme düşürmek değildir.

providers legacy default
data-ciphers AES-256-GCM:AES-128-GCM
data-ciphers-fallback BF-CBC

İlk satır legacy sağlayıcıyı yükler, böylece OpenSSL o şifreyi hâlâ oluşturabilir; ikincisi bunu destekleyen eşler için modern anlaşmayı korur; üçüncüsü yalnızca sunucu daha iyisini sunmadığında geçerlidir. Bu, tünelin bilinçli olarak zayıflatılmasıdır, bu yüzden neden var olduğunu dosyanın yanına yazın. Yedek bir köprü olduğu ve varış noktası olmadığı için aynı zamanda sağlayıcıdan yeniden oluşturulmuş bir dışa aktarma isteyin.

--compat-mode seçeneğine evrensel bir yanıt olarak başvurmayın. Birkaç davranışı birden değiştirir, anlaşma ve yeniden anlaşma varsayılanları dahil, bu yüzden hangi değişikliğin önemli olduğunu asla öğrenemezsiniz. Yukarıdaki üç açık satırı tercih edin, çünkü her biri kendi etkisini belirtir.

İstemcinin gerçekten yüklediği profille doğrulayın

İçe aktarılan bağlantılar genellikle bir sistem dizinine kopyalanır, bu yüzden indirme klasörünüzdeki dosyayı düzenlemek hiçbir şeyi değiştirmeyebilir. Çalışan kopyayı bulun: sudo grep -rl "remote " /etc/NetworkManager/system-connections /etc/openvpn. Sonra tüneli başlatın ve gerçekte seçilen veri kanalı şifresini bildiren günlük satırını okuyun. El sıkışmayı yedek üzerinde tamamlayan bir bağlantı, sunucunun hiçbir zaman modern bir şey sunmadığını söyler.

Sağlayıcının beklediği ağ olmayan bir ağdan test edin, böylece bir captive portal veya filtrelenmiş misafir ağı profil arızası gibi görünmez. Her destek talebine istemci sürümünü ekleyin.

Tünel ayaktayken, içinden geçmesi gereken bir istek ve geçmemesi gereken bir istek gönderin, sonra çözümleyici yanıtının beklediğiniz gibi değiştiğini doğrulayın. Profil artık ayrıştırılıyor ama bağlantı hâlâ başarısız oluyorsa, sözdizimi sorununu geride bırakmışsınızdır ve hata metni yeni sınıfı adlandıracaktır. Düzenlenmiş dosyayı, hedeflediği OpenVPN sürümünü belirten bir notla birlikte sürüm kontrolünde tutun.

İlgili makaleler