OpenVPN bir yapılandırma dosyasıyla kabuktan başlatıyorsunuz ve terminal hiçbir çıktı vermeden öylece duruyor. Ne bir başlık, ne bir hata, ne bir istem. İçgüdü başlatmanın başarısız olduğunu söyler, bu yüzden bir kopya daha başlatırsınız, sonra bir tane daha, ve makine yarım yapılandırılmış birkaç örnekle kalır. Bütün bunlardan önce, günlüğü zaten başka bir yere yönlendirmiş bir yönerge için profili denetleyin. Sessizlik konsolun özelliğidir, sürecin değil.

Sessizliğin iki çok farklı açıklaması vardır

Birincisi, sürecin düzgün çalıştığı ve izlemediğiniz bir dosyaya yazdığıdır. İkincisi, aynı dosyaya kaydedilmiş bir hatayla hemen sonlandığıdır.

İkisi de boş bir terminal bırakır ve onları tek bir soru ayırır: şu anda bir süreç var mı ve ona yazması söylenen dosyada ne var. Yapılandırmaya yeniden dokunmadan önce buna yanıt verin. Çıktı almak için yeniden başlatmak, iki örneğin tek bir tünel aygıtı ve aynı bağlantı noktası için kavga etmeye başlamasına yol açar; bu da asıl sorunla hiç ilgisi olmayan hatalar üretir.

Yönergeyi bulun, sonra süreci bulun.

ps -o pid,args= -C openvpn
grep -nE '^\s*(log|log-append|cd|daemon|verb)\b' /etc/openvpn/server/server.conf

Çalışan sürecin kullandığı hedefi bulun

Sürecin gerçekte başlatıldığı profili okuyun, düzenlediğiniz profili değil. Hizmet tarafından yönetilen bir örnek genellikle başka bir yol yükler ve başka bir çalışma dizininde çalışır, bu yüzden göreli bir dosya adı beklemediğiniz bir yerde çözülür.

Açık bir cd yönerge bu ayrımı daha da keskinleştirir, çünkü göreli yol dizin değişikliğiyle birlikte kayar. Bu yapılandırmayı devraldıysanız, dosya artık kimsenin aramayacağı bir yerde duruyor olabilir.

Dosyanın değişiklik zamanını başlattığınız ana karşılaştırın. Geçen haftanın günlüğü geçen haftaya dair kanıttır. Ardından değişen dosyanın son satırlarını okuyun ve orada ne varsa eksik kalan başlangıç iletisi olarak kabul edin.

log ile log-append: kanıt ve silme

log-append dosyada zaten var olana ekler. log dosyayı yazmak için açar ve keser, bu yüzden ikisi arasında geçiş yapmak okumak üzere olduğunuz çalışmayı silebilir.

Biri hata ayıklarken yönergeyi değiştirdiyse önceki kanıt zaten gitmiştir ve dosya boyutu kuşku uyandıracak kadar küçük görünecektir. İki çalışmayı karşılaştırıp bir şeyin değiştiği sonucuna varmadan önce bunu bilmekte yarar var. Günlüğü bilerek silin ya da tutun, ama hangisini yaptığınızı bilin. Bilerek kaldırdığınız kanıt hakkında düşünmek, kazara kaybettiğiniz kanıttan daha kolaydır.

Seçeneklerin hiçbiri eksik üst dizinleri oluşturmaz ve hiçbiri dosya sistemi izinleri ya da hizmet korumalı alanı üzerinden erişim sağlamaz. Yapılandırmada doğru görünen bir yol, yine de arka plan sürecinin çalıştığı hesap tarafından yazılamaz olabilir; o durumda süreç hiçbir şey bildiremeden başarısız olabilir. Dosya adının sorun olduğunu varsaymadan önce dizinin var olup olmadığını ve sahibinin kim olduğunu denetleyin.

Bir hizmet sarmalayıcısı çıktıyı yakaladığında

systemd altında standart çıktı ve hatalar, açık bir dosya yönergesi öncelikli olmadıkça günlüğe gider ve satıcı sarmalayıcısı bunları bambaşka bir yerde yakalayabilir.

Bu yüzden aynı profil bir kabuktan ve bir unit'ten farklı davranır. Unit'in ortamı, çalışma dizini ve standart akışları etkileşimli kabuğunuzdan farklıdır. Göreli bir yol bir bağlamda çözülebilir ve diğerinde hiçbir yere ulaşmaz. İkisi uyuşmadığında profili değil, unit tanımını okuyun.

Birinin bozuk olduğu sonucuna varmak yerine iki başlatma düzenini karşılaştırın. Unit'in komut satırını ve ortamını okuyun, ardından aynı zaman aralığı için günlüğü okuyun. Sarmalayıcı çıktıyı kendi dosyasına yönlendiriyorsa, o dosya artık sizin günlüğünüzdür ve iletilerin nereye gittiği konusunda OpenVPN yönergeleri önemsizdir.

Ayrıntı düzeyini ancak okuyabildikten sonra artırın

Hedefi bulmadan önce ayrıntı düzeyini artırmak, bakmadığınız bir yerde yalnızca daha fazla metin üretir.

Çıktının nereye indiğini bildiğinizde, orta düzey bir ayar profilin ayrıştırıldığını ve bağlantının denenmeye çalışıldığını gösterir. Başlatma sorunu için iki ya da üç yeterlidir. Daha yüksek düzeyler, arıza bir görüşme ayrıntısı olduğunda yerini hak eder ve dosyayı da hızla büyütür.

Sonra asıl hatayı okuyun. Sessiz bir terminal tünelin açılıp açılmadığına dair hiçbir şey kanıtlamaz ve dosyada kayıtlı olan arıza düzeltilmeye değer olandır.

İlgili makaleler