Klien VPN portabel tanpa hak admin: apa yang masih rusak
Klien VPN portabel dapat melewati penginstal dan tetap memerlukan perangkat tunnel, rute, dan penulisan ke resolver. Jalankan pemeriksaan ini sebelum Anda memercayainya.
Portabel menjelaskan penginstal, bukan kernel. Klien dapat datang sebagai satu berkas eksekutabel di stik USB dan tetap membutuhkan perangkat tunnel, entri tabel rute, dan penulisan ke resolver sebelum paket pertama bergerak. Mana dari ketiganya yang diizinkan mesin target Anda sentuh menentukan apakah build itu berfungsi di sana sama sekali. Pemeriksaan di bawah menjawab pertanyaan itu dalam urutan yang akan ditemui klien.
Portabel mencakup tiga janji berbeda, dan hanya satu yang gratis
Tanpa penginstal berarti vendor tidak mendaftarkan layanan, tidak mengirim penghapus, dan tidak menambahkan entri menu. Tanpa administrator berarti akun biasa dapat memulai klien dan menyelesaikan koneksi. Tanpa perubahan host berarti mesin tampak identik setelah Anda keluar. Halaman unduhan yang mengatakan portabel biasanya hanya menjanjikan yang pertama, dan dua lainnya adalah tempat penerapan gagal. Sebuah build juga bisa portabel dalam arti sempit: berjalan dari media hanya-baca tanpa penulisan berkas titik sama sekali, yang tetap tidak mengatakan apa pun tentang tumpukan jaringan.
Janji yang mahal adalah yang kedua dan ketiga. Satu berkas eksekutabel yang membutuhkan adaptor, rute, atau penulisan ke resolver meminta otoritas kepada sistem operasi yang tidak pernah dicakup label portabel.
Temukan pembantu istimewa yang akan dipanggil klien
Hampir tidak ada klien VPN yang memindahkan paket sendiri. Di Windows jalur data melewati filter WFP dan Base Filtering Engine, di macOS melalui penyedia NetworkExtension yang disetujui pengguna di Pengaturan Sistem, dan di Linux melalui perangkat tun plus tumpukan perutean. Biner yang Anda salin adalah permukaan kendali bagi komponen tersebut, bukan penggantinya. Tanyakan komponen mana yang diharapkan klien, lalu pastikan komponen itu terpasang, berjalan, dan dapat digunakan akun Anda.
Linux adalah tempat termudah untuk membuktikannya karena pemeriksaannya satu panggilan sistem. Membuka /dev/net/tun dan meminta perangkat dari kernel memerlukan CAP_NET_ADMIN, dan dokumentasi kernel tentang TUN/TAP menyebutkan aturan kepemilikan dan kemampuannya. Jalankan pemeriksaan sebagai akun yang akan meluncurkan klien, bukan sebagai root.
ls -l /dev/net/tun
ip tuntap add dev vpntest mode tun
ip link delete vpntest
Kesalahan izin pada baris tengah adalah jawaban yang Anda cari: akun ini tidak dapat membuat antarmuka tunnel, jadi klien ruang pengguna mana pun yang membutuhkannya gagal saat menyambung, bukan saat mengunduh. Baris terakhir menghapus perangkat uji dan tidak mencetak apa pun saat berhasil. Jika kedua baris berhasil, host tidak mengubah apa pun secara permanen.
Uji perubahan rute dan resolver sebelum koneksi pertama
Tunnel terpisah mengubah koneksi menjadi keputusan perutean, sedangkan tunnel penuh mengubahnya menjadi penggantian rute default. Keduanya adalah penulisan ke tumpukan jaringan host, dan keduanya gagal bagi akun tanpa hak istimewa bahkan ketika klien sendiri mulai bersih. Resolver adalah penulisan ketiga, dan pada host systemd biasanya itulah yang rusak terakhir. Urutan itu penting ketika Anda memutuskan di mana membelanjakan pemasangan yang ditinggikan.
Pemeriksaan rute membutuhkan tujuan yang benar-benar Anda pedulikan, jadi ganti placeholder di bawah dengan subnet dari profil Anda sendiri. Nama perangkat harus ada agar rute dapat menempel pada sesuatu.
ip route add 10.20.0.0/16 dev vpntest
ip route del 10.20.0.0/16
resolvectl query intranet.example.internal
Jika baris pertama mengembalikan RTNETLINK answers: Operation not permitted, berarti akun tidak dapat memasang rute privat yang diminta profil. Baris kedua membuktikan hak yang sama secara terbalik, yang penting karena klien yang dapat menambah rute tetapi tidak menghapusnya meninggalkan tabel rusak. Kueri resolver kemudian menunjukkan apakah nama privat diselesaikan melalui tunnel atau bocor ke resolver yang sudah dipercaya host.
Jalankan ketiganya selagi perangkat uji masih ada, lalu hapus. Rute yang menunjuk ke perangkat yang sudah hilang adalah alasan paling umum laptop kehilangan konektivitas setelah koneksi gagal.
Putuskan apa yang harus bertahan dari sesi
Menghapus folder bukan rencana pembersihan. Adaptor, rute, pengaturan resolver, sertifikat tepercaya, dan kredensial tersimpan masing-masing dapat bertahan lebih lama dari proses, dan layanan saat boot dapat memulihkan sebagian tanpa bertanya. Tuliskan apa yang boleh ditinggalkan klien sebelum Anda menjalankannya, bukan setelah pemutusan pertama yang gagal.
Aturan praktisnya adalah mengambil cuplikan dari tiga permukaan yang akan Anda ubah dan membandingkannya setelahnya. Catat antarmuka, tabel perutean utama, dan status resolver sebelum koneksi pertama, lalu ulangi ketiga pembacaan yang sama setelah klien keluar.
ip -brief addr show
ip route show table main
resolvectl status
Apa pun yang ada di tangkapan kedua dan tidak ada di yang pertama memerlukan pemilik. Entah klien menghapusnya saat keluar, atau Anda menghapusnya dengan perintah yang sama yang membuatnya, dan penghapusan itu masuk ke catatan penerapan, bukan ke ingatan seseorang tentang apa yang terjadi. Di Windows pembacaan yang setara adalah Get-NetAdapter, Get-NetRoute, dan Get-DnsClientServerAddress, yang tidak memerlukan peningkatan hak tetapi menunjukkan sisa yang sama.