OpenVPN Windows'ta önyüklemede değil oturum açmada mı başlıyor?
Başlangıç kısayolu otomatik hizmeti değil, bir masaüstü uygulamasını başlatır. Dosyaları taşımadan önce sahibin hangi profil kaynağını okuduğunu kontrol edin.
Yalnızca biri oturum açtıktan sonra görünen tüneller genellikle otomatik hizmet tarafından değil, o kişinin oturumu tarafından başlatılır. Olağan suçlu, openvpn-gui.exe dosyasını başlatan bir başlangıç kısayoludur ve bu bozuk bir kurulum değildir. Kısayol, bir kullanıcı oturumu içinde masaüstü uygulamasını o kullanıcının profiliyle, o kullanıcının sertifika depolarıyla ve o kullanıcının bir isteme yanıt verme yeteneğiyle başlatır. Bunların hiçbiri bağlantıyı oturum açmış bir insandan bağımsız kılmaz ve oturum açmadan önceki bir tünelin ihtiyacı tam olarak budur.
Belirtinin genellikle üç nedeni vardır
Üç örüntü dışarıdan aynı görünür ve farklı düzeltmeleri vardır. Birincisi, hizmet yerine kullanıcı oturumu olan yürütme sahibidir, yani başlangıç kısayolu durumu. İkincisi, hizmetin bakmadığı bir yerde duran profildir; bu yüzden hizmet başlar, hiçbir şey bulamaz ve temiz biçimde çıkar. Üçüncüsü, hizmetin bulup başlattığı ancak kimlik bilgileri hiçbir hizmetin sağlayamayacağı bir etkileşim gerektiren profildir.
Hangisinin geçerli olduğunu belirlemek iki okuma gerektirir: hizmetin neyi çalıştırmak üzere yapılandırıldığı ve hangi dosyaları görebildiği. Her ikisi de tek bir komuttur ve hiçbiri çalışan bir bağlantıyı bozmaz.
Otomatik hizmet gerçekte neyi okur
Community otomatik hizmeti, yapılandırılmış otomatik başlatma dizinini, genellikle kurulumun altındaki config-auto dizinini tarayan ve bulduğu her eşleşen profil için bir OpenVPN süreci başlatan bir sarmalayıcıdır. Bir kullanıcının GUI menüsünde görünen profil bunun yerine o kullanıcının dolaşım profilinin altında, hizmet hesabının okumadığı bir dizinde bulunur. Windows hizmet kılavuzu bu keşfi açıklar ve herhangi bir şeyi kopyalamadan önce okumaya değer, çünkü hedef dizin sabit bir gelenek değil, kurulumun bir özelliğidir. Bu nedenle bir dosyayı GUI klasörüne kopyalamak hizmet için hiçbir şeyi değiştirmez ve onu config adlı her klasöre kopyalamak düzeltme yerine kopyalar oluşturur.
Get-Service OpenVPNService | Select-Object Status, StartType
Get-CimInstance Win32_Service | Where-Object Name -eq 'OpenVPNService' | Select-Object PathName, StartName
gci 'C:\Program Files\OpenVPN\config-auto'
Son komut sarmalayıcının gerçekte neyi göreceğini listeler; bir profilin yanlış yerde olduğunu doğrulamanın en hızlı yolu budur. İkinci satır ayrıca hizmetin hangi hesap altında çalıştığını gösterir ve bu hesap hangi dosya yollarına ve sertifika depolarına erişilebileceğine karar verir.
Masaüstü oturum açma neden çalışır da önyükleme başlangıcı neden çalışmaz
Masaüstündeki başarı, bir girdi bağımlılığını uzun süre gizleyebilir. GUI bir anahtar parolasını, hesap parolasını veya ikinci faktörü bir iletişim kutusunda toplayabilir, çünkü görünür bir masaüstüne sahip etkileşimli bir oturumda çalışır. Hizmet masaüstü olmayan bir oturumda çalışır, bu yüzden girdi isteğinin görünecek yeri yoktur ve bağlantı, kimlik bilgisi sorununa hiç benzemeyen bir zaman aşımından sonra başarısız olur.
Dosya erişimi de aynı kurala uyar. Kullanıcı profilinin altında saklanan bir özel anahtar veya kullanıcının kişisel deposundaki bir sertifika, makine olarak çalışan bir hizmet için kullanılabilir değildir. Aynı profil dosyasının aynı ortam anlamına geldiğini varsaymak yerine mutlak yolları, izinleri ve her tarafın yaptığı sertifika seçimini karşılaştırın.
Bir kullanıcının oturum açıp açmamasına bakılmaksızın çalışacak şekilde ayarlanmış zamanlanmış bir görev de benzer bir kısıtlamayı devralır. GUI yürütülebilir dosyasını başarıyla başlatabilir ve yine de hiçbir zaman kimlik bilgisi almayan bir süreç üretebilir, bu yüzden görev yöneticisinde bir sürecin varlığı çalışan bir tünelin kanıtı değildir.
Tek bir sahip seçin ve gerçek yaşam döngüsünü test edin
Oturum açmış bir kişiye ait bir bağlantı için GUI'nin desteklediği otomatik başlatma davranışını kullanın ve hizmeti bunun dışında tutun. Herhangi biri oturum açmadan önce var olması gereken bir tünel için hizmeti yapılandırın, profili sarmalayıcının okuduğu yere yerleştirin ve etkileşimli parola içermeyen bir anahtar veya belgelenmiş bir kimlik bilgisi dosyası gibi desteklenen gözetimsiz kimlik bilgisi mekanizmasını kullanın.
Get-Content 'C:\Program Files\OpenVPN\log\openvpn.log' -Tail 40
Get-WinEvent -LogName Application -MaxEvents 20 | Where-Object ProviderName -like '*OpenVPN*'
Önemli olan yaşam döngüsünü test edin: kimsenin oturum açmadığı bir yeniden başlatma, ardından bir ağ değişikliğinden sonra yeniden bağlanma. Bağlantı için tek bir sahip tutun, çünkü birbiriyle yarışan iki başlangıç mekanizması genellikle aynı rotalar ve aynı sunucu oturumu için savaşan iki örnek üretir ve bunu teşhis etmek her iki mekanizmadan da zordur.