Layanan OpenVPN gagal pada profil yang dibuka GUI: lima pemeriksaan
Profil sama, peluncur berbeda. Periksa direktori kerja, akun layanan, atribut berkas terenkripsi, pemilik, lalu pembungkus.
Dua peluncur membuka profil yang sama di satu mesin, dan hanya GUI yang terhubung. Berkasnya utuh dan penginstal kemungkinan baik-baik saja; yang berbeda adalah konteks yang diberikan setiap peluncur kepada openvpn.exe. Direktori kerja, identitas akun, dan atribut berkas semuanya ikut dengan konteks itu. Periksa dalam urutan itu dan berhenti pada yang pertama yang menjelaskan galatnya.
Pastikan peluncur mana yang gagal
Mulailah dengan membuktikan pemisahannya. Jika GUI terhubung dan layanan tidak, dengan jalur profil yang sama, berkas itu terbaca oleh seseorang dan pertanyaannya menjadi siapa yang membacanya dan dari mana. Jika keduanya gagal, profilnya rusak dan semua ini tidak berlaku. Catat nama layanan dan profil persis yang diminta dimuat.
Layanan yang diarahkan ke direktori mulai otomatis miliknya sendiri mungkin tidak memuat berkas yang Anda buka di editor. Bandingkan jalur di konfigurasi layanan dengan jalur di GUI, karakter demi karakter, karena nama folder di ujung atau huruf drive yang berbeda sudah cukup untuk membawa Anda ke cabang yang salah.
Di mana jalur relatif diselesaikan
Profil yang merujuk ca.crt atau skrip pembantu hanya dengan nama meminta pencarian relatif terhadap tempat proses berada. GUI mulai di folder konfigurasi, jadi nama-nama itu diselesaikan. Layanan yang dimulai oleh manajer layanan tidak punya titik mulai seperti itu, dan pencarian gagal sebelum sertifikat apa pun dibaca. Itulah sebabnya profil yang sama bekerja di satu peluncur dan tidak di peluncur lain.
Beri pembungkus direktori untuk memulai, atau jadikan setiap rujukan absolut. Mereproduksi konteks GUI pada baris perintah tampak seperti ini:
openvpn --cd "C:\VPN\profiles\office" --config "C:\VPN\profiles\office\office.ovpn"
Menaikkan verbositas pada perintah itu menunjukkan jalur persis yang dicoba. Lakukan sebelum mengubah izin, karena berkas yang hilang dan pembacaan yang ditolak memerlukan perbaikan berbeda. Log bawaan tidak membedakannya. Satu flag tambahan menghemat satu jam menduga-duga.
Ketika identitas layanan tidak dapat membaca
Layanan berjalan sebagai identitas sistem, bukan sebagai Anda. ACL yang memberi pengguna Anda kendali penuh dan tidak memberi siapa pun selainnya gagal di sana sementara bekerja sempurna di sesi Anda. Profil yang disimpan di drive yang dipetakan atau berbagi terautentikasi gagal karena alasan yang sama. Pastikan izin berkas sebelum melihat hal lain.
Pemeriksaannya adalah pembacaan izin efektif ditambah pembacaan yang dicoba sebagai identitas layanan. Jalankan bagian pertama dari prompt yang ditinggikan:
icacls "C:\VPN\profiles\office\office.ovpn"
Lalu coba pembacaan yang sama sebagai identitas layanan, misalnya dengan psexec -s -i dari Sysinternals, dan amati apakah berkasnya terbuka. Jika tidak, tidak ada perbaikan jalur yang membantu. Perbaiki ACL atau pindahkan profil ke lokasi yang dapat dibaca identitas layanan.
Enkripsi tingkat berkas adalah kasus kedua yang lebih jarang. Profil yang ditandai atribut Encrypting File System didekripsi secara transparan bagi pengguna yang mengenkripsinya dan tetap tidak terbaca oleh akun layanan. Itulah sebabnya berkas yang sama terbuka di editor Anda dan tidak di bawah layanan.
Atributnya terlihat dari prompt yang ditinggikan, dan memeriksanya tidak membuka profilnya. Jalankan kedua perintah dan baca keluarannya:
cipher /s:"C:\VPN\profiles\office"
attrib "C:\VPN\profiles\office\office.ovpn"
Menghapus atributnya membuat berkas terbaca, dan itu juga menghilangkan perlindungan yang dibawanya. Jika profil harus tetap terlindungi, letakkan materi rahasia di tempat identitas layanan punya hibah eksplisit daripada mengandalkan enkripsi per pengguna. Susunan seperti itu bertahan dari perubahan kata sandi, dan membuat akses dapat ditinjau oleh orang selain yang mengenkripsi berkas.
Memutuskan siapa pemilik terowongan
GUI dapat meminta kata sandi dan dapat membaca sertifikat dari penyimpanan pengguna Anda. Layanan tidak dapat keduanya, jadi profil yang bergantung pada rahasia interaktif tidak akan pernah mulai tanpa pengawasan, tidak peduli bagaimana jalurnya diperbaiki. Batas itu adalah keputusan desain, bukan cacat yang harus diakali. Pilih satu pemilik sebelum mengubah hal lain.
Jika terowongan harus aktif sebelum login, beri layanan sumber kredensial tanpa pengawasan dan salinan profilnya sendiri. Jika hanya perlu ada saat Anda di meja, simpan di GUI dan hapus salinan layanan. Keduanya sekaligus adalah konfigurasi yang menghasilkan konflik adaptor dan rute ganda.
Konflik itu biasanya didiagnosis sebagai galat konfigurasi, bukan sebagai dua pemilik yang berebut satu adaptor. Log peristiwa akan menunjukkan satu proses gagal membuka perangkat TAP, yang tampak seperti masalah izin dan bukan. Hitung pemiliknya dulu.
Apa yang sebenarnya diluncurkan pembungkus layanan
Titik masuk layanan adalah pembungkus kecil yang membaca parameternya sendiri yang tersimpan lalu memulai openvpn.exe. Ketika baris perintah di log peristiwa tidak cocok dengan harapan Anda, nilai-nilai itulah yang harus diperiksa. Menginstal ulang mengembalikannya ke bawaan dan menghancurkan bukti. Baca dulu.
Nilai-nilai itu hidup di registri di bawah kunci layanan sendiri, dan sc qc menunjukkan jalur biner yang akan diluncurkan manajer layanan. Bandingkan jalur itu dengan konfigurasi tersimpan pembungkus sebelum menyunting salah satunya.
Mengganti pembungkus dengan skrip yang Anda kendalikan lebih invasif, tetapi itu melipat baris perintah efektif menjadi satu berkas yang terbaca. Akhiri dengan mulai ulang, lalu baca log per profil sampai baris mulai yang berhasil pertama muncul. Status layanan berjalan hanya berarti pembungkus belum keluar, yang juga benar ketika anaknya mati seketika.