Enjin OpenVPN atau Tunnelblick: siapa memiliki sesi VPN Mac?
Terminal bukan garis pemisah. Tentukan siapa memiliki sesi: enjin yang anda mulakan atau pengurus yang mengendalikan DNS, kelayakan dan pembersihan.
Homebrew memasang program OpenVPN; Tunnelblick memasang pengurus yang menjalankan satu atau lebih enjin. Itu lapisan berbeza, dan soalan berguna bukanlah sama ada anda suka menggunakan terminal. Ia ialah siapa yang memiliki konfigurasi, perubahan DNS, permintaan kelayakan dan pembersihan apabila sesi tamat. Seorang pemilik tunggal untuk lapisan itu menjadikan persediaan boleh dijangka.
Lakukan lima pemeriksaan di bawah mengikut urutan. Yang pertama mempunyai dua pemilik ialah yang menghasilkan keadaan separuh bersambung pelik yang orang salahkan pada OpenVPN itu sendiri. Setiap pemeriksaan menamakan bukti yang menyelesaikannya.
Pemeriksaan satu: binari OpenVPN mana yang benar-benar berjalan
Jalankan pgrep -fl openvpn semasa bersambung dan baca baris arahan penuh. Laluan pertama ialah enjin yang benar-benar berjalan. Pada Apple Silicon pemasangan Homebrew biasanya berada di bawah /opt/homebrew, manakala Mac Intel menggunakan /usr/local, dan Tunnelblick menjalankan enjin dari dalam pakej aplikasinya sendiri.
Tunnelblick menggabungkan enjin dan membenarkan konfigurasi memilih satu. Mengemas kini formula Homebrew menukar binari kendiri, bukan enjin yang dimulakan oleh profil Tunnelblick. Jika anda membandingkan versi untuk menerangkan perbezaan tingkah laku, bandingkan enjin dalam senarai proses dan bukan yang dalam pengurus pakej. Rentetan versi sahaja tidak akan memberitahu profil mana yang dimuatkan oleh enjin itu.
Profil yang disalin juga boleh membuat dua enjin kelihatan serupa walaupun membaca fail berbeza. Laluan profil dalam baris arahan memberitahu konfigurasi mana yang dimuatkan oleh proses yang berjalan; profil yang terbuka dalam editor bukan bukti. Bandingkan laluan itu sebelum membandingkan tingkah laku.
Pemeriksaan dua: siapa mengubah DNS dan laluan
Enjin boleh menjalankan arahan up dan down OpenVPN sendiri, tetapi pengurus mungkin memiliki kitaran hayat yang sama. Tetapan pelayan nama Tunnelblick mengawal skrip sambungan dan pemutusan standardnya, dan apabila integrasi itu diaktifkan, arahan bersaing dalam profil boleh diabaikan.
Itu penting kerana DNS ialah tempat terowong yang berfungsi paling kerap kelihatan rosak. Periksa scutil --dns semasa bersambung, catat penyelesai mana yang pertama, dan pastikan ia kembali selepas diputuskan. Jika profil menjangka menetapkan DNS sendiri manakala pengurus juga mengurusnya, salah satu daripada kedua-duanya akan kalah.
Tentukan lapisan mana yang memiliki DNS sebelum sambungan pertama, kemudian buang arahan yang kalah dan bukan biarkan kedua-duanya. Perubahan laluan mengikut peraturan yang sama: seorang pemilik, kelihatan dalam konfigurasi, dengan laluan pemulihan yang didokumenkan.
Pemeriksaan tiga: dari mana kelayakan datang
Permintaan interaktif dan proses tanpa pengawasan mempunyai keperluan berbeza. Kelayakan yang disimpan oleh satu aplikasi tidak tersedia secara automatik kepada proses lain, dan item rantai kunci yang terhad kepada pengurus mungkin tidak kelihatan kepada enjin kendiri yang dimulakan dari shell.
Senaraikan sumber kelayakan untuk profil: sijil dan kunci klien, permintaan nama pengguna dan kata laluan, atau token yang disediakan oleh pembantu luaran. Kemudian pastikan pemilik yang dipilih boleh mencapai sumber itu tanpa manusia jika sambungan perlu bertahan melalui but semula.
Pemeriksaan empat: siapa memulakan, menyelia dan menghentikan proses
Pemasangan kendiri memerlukan penyelia jika ia perlu kekal berjalan. Launchd boleh memulakan enjin semasa log masuk atau atas permintaan, memulakannya semula selepas ranap dan menghentikannya dengan bersih, tetapi seseorang perlu menulis dan memiliki tugas itu. Menjalankan arahan dalam terminal berfungsi untuk ujian dan bukan untuk pengguna yang menutup tetingkap.
Jika Tunnelblick kekal sebagai pemilik, gunakan kawalan yang disokongnya dan bukan memulakan enjin kedua. Binari Homebrew, apabila diberi profil yang disalin, membuka sambungan bebas dengan konfigurasi dan konteks integrasinya sendiri dan bukan memerintah sesi Tunnelblick yang sedia ada.
Walau pemilik mana yang anda pilih, tentukan apa yang berlaku semasa tidur, perubahan rangkaian dan log keluar. Pengurus biasanya mengendalikan peristiwa itu; proses kosong biasanya tidak, dan laluan atau penyelesai basi yang terhasil mudah disalah baca sebagai kerosakan pelayan.
Pemeriksaan lima: bagaimana penyerahan disahkan
Uji pemilik baharu dengan pemilik lama dinyahdayakan, kemudian uji pemilik lama sekali lagi jika anda bercadang menyimpannya. Sumber peribadi yang menjawab dalam satu aliran kerja dan tidak dalam yang lain ialah bukti tentang integrasi yang hilang, bukan tentang pelayan.
Untuk penyerahan kepada enjin kendiri, catat laluan profil, laluan binari, penyelia, pemilik DNS dan sumber kelayakan. Kemudian sahkan sumber peribadi, laluan ke internet awam dan pemutusan bersih dalam urutan itu. Jika DNS atau laluan kekal selepas diputuskan, pemilik baharu belum selesai.
Untuk penyerahan kepada Tunnelblick, pilih enjin untuk konfigurasi, aktifkan integrasi DNS yang dimaksudkan dan buang arahan profil yang menentangnya. Kemudian ulangi tiga pemeriksaan yang sama. Sambungan yang berfungsi tetapi meninggalkan penyelesai berubah ialah penyerahan yang gagal, walaupun terowong naik.
Pembungkusan tidak menyelesaikan keserasian pelayan. Periksa keperluan klien perkhidmatan itu sendiri, dan pilih enjin semata-mata hanya apabila anda berhasrat menyediakan pengurusannya.