2.x istemcisiyle bağlanın, profil çalışır; aynı dosyayı 3.x istemcisine verin, parola isteminde durur. --auth-user-pass creds.txt dosyasını openvpn3 session-start komutuna verin, sonuç aynıdır çünkü yeni istemcide dosyayı okuyan bir aşama yoktur. Ret bilinçlidir: kimlik bilgileri bir oturuma aittir ve oturumu terminalinizdeki süreç değil bir hizmet oluşturur. Etkileşimli istem ile autoload yardımcısı arasında seçim yapın ve her birinin ne sakladığını bilin.

Kayıtlı dosyanın neden gidecek yeri yok

Yeni tasarımda yapılandırma yönetimi ile oturum yönetimi sistem veri yolu üzerinden konuşan ayrı hizmetlerdir. Sıradan bir kullanıcının, ayrıcalıklı bir daemon onun adına korunan bir parola dosyasını okumadan oturum başlatmasını sağlayan şey bu ayrımdır. Dosya tabanlı kimlik bilgilerinin bu modelde yeri yoktur, çünkü onları okuyacak daemon tarafında bir başlatma yoktur. Ret, mimarinin bir sonucudur, eksik bir özellik değildir.

Eski deseni adlandırmak, onu bırakmayı kolaylaştırır: profil bir kimlik bilgileri dosyasına başvurur ve tünel başlarken daemon onu okur. Yeni modelde kimlik bilgileri bir oturuma aittir ve o oturum başlarken sağlanır. openvpn3 session-start --config work.ovpn onları sorar ve --auth-user-pass creds.txt reddedilir çünkü o yolda dosyayı açacak hiçbir şey yoktur. Bulduğunuz her 2.x tarifi artık var olmayan bir aşamayı varsayar.

Yapılandırma ve siteye özgü ayarlar da ayrıdır, bu da ikinci sürprizi açıklar. Bir profil eksiksiz görünebilir, oysa ürettiği bağlantıda yönlendirme ve çözümleyici yapılandırması yoktur. Bu parçalar içe aktarılan dosyadan ayrı olarak siteye özgü ayarlar şeklinde uygulanır.

İstem yolu ve bıraktığı oturum

Oturum başlarken parolayı vermek amaçlanan iş akışıdır. İstemci bir kez sorar, kimlik bilgilerini oturum arka ucuna verir ve devam eder:

openvpn3 session-start --config work.ovpn
openvpn3 sessions-list

Bu yolda diske hiçbir şey yazılmaz. Oturum terminal kapandıktan sonra da çalışmaya devam eder; bu, sürecin kabuğuyla birlikte öleceğini bekleyenleri şaşırtır. Oturum işlemeyi bir hizmete taşımanın amacı budur. Oturum, onu isteyen terminalden daha uzun yaşar ve açıkça durdurulmalıdır.

Önünde bir insan olan bir iş istasyonu için bu da en güvenli seçenektir, çünkü korunacak ya da unutulacak kayıtlı bir sır yoktur. Yalnızca kimsenin yazamadığı yerlerde uygun değildir.

Klavyenin başında insan olmadan otomasyon

Bir makinenin insan olmadan bağlanması gereken yerde proje openvpn3-autoload aracını sunar. Bir profil dizinini ve her profil için eşleşen bir tanımlayıcıyı okur ve tanımlayıcı kimlik bilgilerini düz metin olarak verir. Yardımcı ayrı bir ikili dosyadır, genellikle /usr/sbin/openvpn3-autoload konumundadır, session-start üzerinde bir bayrak değildir. Kurmak, dizini oluşturmak, profili tanımlayıcının beklediği adla kopyalamak ve tanımlayıcıyı yazmak demektir.

Kullanıcı başına kurulum şöyle görünür ve oturuma sahip olacak hesapla çalıştırılır. Dizin kipi diğer yerel kullanıcıları dışarıda tutar:

mkdir -m700 -p ~/.openvpn3/autoload
cp work.ovpn ~/.openvpn3/autoload/client.conf
$EDITOR ~/.openvpn3/autoload/client.autoload

Tanımlayıcı kimlik bilgilerini adlandırır ve otomatik başlangıç ister. Parola değerini sürüm denetiminin dışında tutun:

{
  "autostart": true,
  "user-auth": {
    "autologin": true,
    "username": "svc-vpn",
    "password": "change-this-value"
  }
}

Ardından yardımcıyı bir kez çağırın ve oturumun göründüğünü doğrulayın. İkinci komut denetimdir, başka bir kurulum adımı değildir:

/usr/sbin/openvpn3-autoload --directory ~/.openvpn3/autoload
openvpn3 sessions-list

Açılışta openvpn3-autoload.service adlı paketlenmiş birim, kullanıcı başına olanı değil sistem genelindeki /etc/openvpn3/autoload dizinini kullanır. O konum root sahipliği ve daha sıkı bir kip gerektirir ve tanımlayıcı parolayı hâlâ düz metin olarak tutar. Ödünleşim açıktır: parola artık diskte duruyor, bu yüzden o dizini bir sır olarak görün, ana bilgisayar dışı yedeklerden hariç tutun ve bir insan varken her zaman etkileşimli yolu seçin.

Parola hatası gibi görünen veri yolu hataları

Kimlik bilgilerine atfedilen bazı hatalar hiç de öyle değildir. Hizmetin etkinleştirme yolunu adlandıran bir izin hatası iki şeyden birini anlatır: arka uç çalışmıyor ya da çağıranın onu etkinleştirme izni yok. Hiçbir profil düzenlemesi ikisini de değiştirmez. Yapılandırmaya dokunmadan önce hizmet durumunu ve birlikte gelen veri yolu ilkesini denetleyin.

Aşağıdaki komutlar ikisini ayırır. Birincisi arka ucun çalışıp çalışmadığını bildirir; ikincisi son veri yolu hatalarını gösterir:

systemctl status openvpn3-service-client
journalctl -b -u openvpn3-service-client --no-pager | tail -20

Bir diğer yaygın yanlış okuma, belirip hemen kaybolan bir oturumdur. Bu örüntü genellikle siteye özgü ayarların hiç uygulanmadığını, yani tünelin onu yararlı kılan yollar ve çözümleyici değişiklikleri olmadan kalktığını gösterir. Son satırı değil sırayı okuyun: oturumun oluşturulup oluşturulmadığı, bağlı bir duruma ulaşıp ulaşmadığı ve ayakta kalıp kalmadığı üç ayrı olgudur.

Eski istemci hâlâ kullanılıyorsa

2.x istemcisi hâlâ bir kimlik bilgileri dosyasını kabul eder ve bir anahtarlık, sır hiç diske ulaşmadan istemine yanıt verebilir. Bir sarmalayıcı girdiyi çözer, böylece dosya parolayı değil aramayı adlandırır. Bu düzen açık bir anahtarlığa bağlıdır; oturum açma oturumu olmayan bir kapsayıcı ya da biri giriş yapmadan önce başlayan bir birim bunu sağlayamaz. Arama aracı o zaman yazamadığı bir koleksiyon bildirir, böylece hata bir anahtarlık hatası olduğu halde kimlik bilgileri hatası gibi görünür.

Bunlardan herhangi birini kurmadan önce, profildeki bir keepalive ayarının yeniden başlatma gereğini tamamen ortadan kaldırıp kaldırmadığını denetleyin. Ayakta kalan bir oturum, otomatikleştirmeye çalıştığınız isteme asla ulaşmaz.

İlgili makaleler