Tek bir OpenVPN drop-in tüm tünelleri değiştirdi: örnek ve şablon
Örnek dizinindeki bir drop-in tek tüneli etkiler; şablon dizini hepsini etkiler. Bir yol seçmeden önce birleştirilmiş unit'ı okuyun.
Bir tünel için eklenen yeniden başlatma ilkesi makinedeki her tünele uygulanmaya başlar. Bu bir systemd hatası değil; örnek drop-in ile şablon drop-in arasındaki farktır. Dosyayı hangi yolun altına yazdığınız, kaç hizmetin onu devralacağını belirler.
Kapsamı ayardan önce seçin. İki dizin neredeyse aynı görünür ve yalnızca biri amaçladığınız örnekle sınırlıdır.
Belirti: tek düzenleme, her tünel
Örneğe özgü drop-in, tam örneğin adını taşıyan dizinin altında bulunur, örneğin [email protected]. Şablon drop-in [email protected] altında bulunur; aralarında @ işareti vardır ve örnek adı yoktur. Birincisi yalnızca office için geçerlidir. İkincisi o şablondan oluşturulan her hizmet için geçerlidir.
Şablon biçimi ayrı bir [email protected] şablonuna ulaşmaz ve adında openvpn bulunan ilgisiz hizmetlere de ulaşmaz.
Kapsama uyan dizini seçin
Her iki dizin de /etc/systemd/system/ altındadır. Son system bileşenini atlarsanız systemd'in sistem geçersiz kılması olarak okumadığı bir yol oluşur ve bu, doğru görünen bir dosyanın hiçbir şey yapmamasını sağlamanın sessiz bir yoludur. Tam yolu bir kez yazın ve yeniden kullanın.
Drop-in ayrıca doğru bölüm başlığına ihtiyaç duyar. Hizmet ayarları [Service] altına aittir. Ayarları olup bölümü olmayan dosya yok sayılır veya reddedilir ve dosya orada yetkili görünerek dururken unit eskisi gibi davranmaya devam eder.
Birden fazla drop-in eklerseniz amacı dosya adında tutun. Birleştirmeye sözlük sırası karar verir ve dosyanın ne yaptığını söyleyen bir ad bu sırayı okunur kılar.
Yazmadan önce birleştirilmiş unit'ı okuyun
Herhangi bir şey yazmadan önce birleştirilmiş unit'ı okuyun. systemctl cat [email protected] ana unit'ı ve geçerli her drop-in'i birleştirme sırasıyla yazdırır. Şablon değişikliğini düşünürken ikinci bir örnekle karşılaştırın. Bu karşılaştırma düzenlemeyi hangi hizmetlerin devralacağını tam olarak gösterir.
Örnek dosyası şablon ayarlarını silmez. İkisi birleştirilir, bu yüzden unuttuğunuz bir şablon değeri hâlâ geçerli olabilir.
Başka adlandırılmış drop-in'ler, çalışma zamanı ayarları ve paketlerin sağladığı yapılandırma da katılır. Son düzenlediğiniz dosyanın unit'ın tamamı olduğunu varsaymayın. Birleştirilmiş çıktı unit'ın kendisidir.
Unit ilkesini profilin dışında tutun
Unit ilkesi ile VPN yapılandırmasını ayrı tutun. Bir profil direktifi [Service] altında durduğu için geçerli systemd sözdizimi olmaz. Yeniden başlatma ayarı da .ovpn dosyasına ait değildir.
Bu ayrım, yeniden başlatma ilkesinin OpenVPN kendi eş kurtarmasıyla aynı şey olmamasının da nedenidir. Kapsam seçmeden önce hangi davranışı istediğinize karar verin.
Uygulayın ve örneği doğrulayın
Değişiklikten sonra yöneticinin tanımlarını systemctl daemon-reload ile yeniden yükleyin. Bu yeniden yükleme tüneli yeniden başlatmaz; yalnızca unit dosyalarını yeniden okur. Ardından amaçladığınız yaşam döngüsü eylemini tam örneğe uygulayın.
Yüklenen unit'ı yeniden okuyarak ve değiştirdiğiniz davranışı gözlemleyerek doğrulayın. Etkin iş taşıyan bir yeniden başlatma planlı bir kesintiyi hak eder, üretim tünelinde hızlı bir testi değil. Geçersiz kılmanın amacını ve kapsamını dağıtımın yanına kaydedin ki sonraki kişi dosyanın paylaşılmak için mi olduğunu bilsin.
İlke gerçekten paylaşılıyorsa bilerek şablona taşıyın ve bitmiş demeden önce ikinci bir örneği kontrol edin.systemd unit referansı drop-in önceliğini ve birleştirme sırasını belgeler.