Tüketici router'ındaki veya NAS'taki ürün yazılımı, OpenVPN yapılandırmasını genellikle her başlangıçta yeniden oluşturur, bu yüzden eklediğiniz yönerge tam olarak bir sonraki açılışa kadar kalır. Aynı durum web formuna yazılan anahtarlar için de geçerlidir; kaydedilen değer kayıttan sonra bozuk olarak geri gelebilir. Bu belirtilerin hiçbiri değişikliğin reddedildiği anlamına gelmez. Değişikliğin ürün yazılımının çıktı olarak gördüğü bir dosyaya girdiği ve kalıcı yerin önyükleme dizisinde bir adım önce olduğu anlamına gelir.

Düzenlenen dosya neden yeniden oluşturulur

Bir başlangıç betiği sunucu yapılandırmasını bir şablondan bir araya getirir ve ardından arka plan programını başlatır; bu da oluşturulan dosyayı kaynak yerine derleme çıktısı yapar. Başlangıçtan sonra eklenen her şey o betiğin bir sonraki çalıştırmasında görünmez. İkinci örüntü daha incedir: web arayüzündeki anahtar ve sertifika girişleri kaçışlı biçimde saklanır ve formun kaydedilmesi bu kaçışlı metni arka plan programının okuduğu dosyaya itebilir. Her iki durumda da oluşturulan yapılandırma kalıcı bir değişiklik için yanlış yerdir.

Önyükleme dizisinin neyi ne zaman yazdığına bakın. Yanıt neredeyse her zaman ürün yazılımının init veya otomatik başlatma dizinindeki bir betiktir.

Yönergeyi betiğin dosyayı oluşturduğu yere ekleyin

QTS cihazları OpenVPN sunucu yapılandırmasını arka plan programını başlatan init betiğinin içinde yeniden üretir, bu yüzden düzenleme orada yapılmalıdır. Oluşturulan dosyayı düzenlemek yerine eklemeyi başlangıç komutundan hemen önce ekleyin.

sed -i '/daemon_mgr/i echo client-config-dir clientconfig >>/etc/openvpn/server.conf' /etc/init.d/vpn_openvpn.sh
grep -c client-config-dir /etc/openvpn/server.conf

Satır numaraları derlemeler arasında değiştiği için eklemeyi hareket etmeyecek bir komuta sabitleyin. init betiğinin kendisi önyükleme sırasında değiştirildiği için değişikliğin her sistem başlangıcında ürün yazılımının otomatik başlatma kancasından yeniden yayımlanması gerekir. Bir yeniden başlatmadan sonra oluşturulan dosyadaki olayları sayın: tek satır yamanın işe yaradığını, iki satır ise kancanın birden fazla kez çalıştığını gösterir. Çift çalıştırmayı ayrıca inceleyin, çünkü bu kaybolan bir değişiklikle aynı arıza değildir.

Kaçışlı anahtarları saklayan formu onarın

Asus tarzı sayfalarda sertifika ve anahtar alanları kaçışlı metin gösterir ve ilgisiz bir ayardan sonra kaydetmek bu varlıkları diske geri yazabilir. Kodu çözülmüş bir kopyadan çalışın ve tüm düzenlemeler hazır olduğunda yalnızca bir kez kaydedin.

openssl dhparam -out dh2048.pem 2048
grep -n "BEGIN DH PARAMETERS" dh2048.pem

Yeni bir parametre kümesini değiştirirken, etiket anahtarın gövdesini istiyorsa yalnızca base64 yükünü yapıştırın ve alan tam bir PEM bloğu beklediğinde zırh satırlarını koruyun. Zaten kaçışlı biçimde kaydedilmiş bir sayfayı kurtarmak genellikle etkilenen girişleri temizleyip uygulamak anlamına gelir; bu da ürün yazılımının bunları yeniden oluşturmasına izin verir. 2048 bitin üzerindeki her şeyi bir iş istasyonunda oluşturun, çünkü router'ın entropi beslemesi işlemi yavaş ve bazen güvenilmez kılar. Parametre dosyasını fabrika sıfırlamasından sonra erişebileceğiniz bir yerde saklayın.

Yükseltmelerden sonra yeniden kontrol edin

Ürün yazılımı güncellemeleri init betiklerini değiştirir ve otomatik başlatma dizinini silebilir, bu yüzden yamanın yeniden kurulup yeniden test edilmesi gerekir. Yeniden oluşturulan dosyayı sakladığınız kopyayla karşılaştırın ve yönergenin tam olarak bir kez bulunduğunu doğrulayın. Web arayüzünde görünen bir değer, arka plan programının onu aldığının kanıtı değildir, çünkü sayfa saklanan alanları okur. Yama komutunu ve ürün yazılımı sürümünü bakım notlarına yazın ki bir sonraki güncelleme bunları ileriye taşısın.

Ardından bir istemci bağlayın ve sunucu günlüğünde gönderilen seçeneği okuyun. Yalnızca bir formda var olmuş bir ayar, kimsenin test etmediği bir ayardır.

İlgili makaleler