Server VPN di Pi: mulai dari aplikasi ponsel, bukan dari resep
Aplikasi di ponsel menentukan protokol, pertukaran, dan format profil. Catat kesepakatan empat bagian sebelum memasang apa pun di Pi.
Sebagian besar perakitan VPN di Pi dimulai dari resep server dan berakhir dengan ponsel yang tidak bisa terhubung. Urutannya terbalik. Klien di ponsel menerapkan protokol tertentu dengan pertukaran autentikasi tertentu, dan server harus menyesuaikan diri dengan pertukaran itu, bukan sebaliknya. Menentukan aplikasi lebih dulu mengubah sepanjang sore penelusuran kesalahan menjadi daftar periksa singkat.
Urutan yang menghemat pembangunan ulang
Catat sistem operasi ponsel dan aplikasi VPN yang tepat sebelum memasang apa pun di Pi. Pasangan itu menentukan protokol mana yang mungkin sama sekali. Aplikasi klien tidak menjadi klien lain hanya karena profil kebetulan memuat kolom yang familiar.
Rahasia bersama dalam profil, atau nomor porta yang tampak familiar, tidak mengubah satu protokol menjadi protokol lain. Pertukaran itu cocok dengan apa yang diterapkan aplikasi, atau gagal pada tahap yang memberi Anda sangat sedikit untuk dibaca. Tidak ada diagnostik yang mengatakan "protokol salah" dengan kata-kata sederhana. Anda mendapat batas waktu, kesalahan sertifikat, atau lingkaran percobaan ulang yang senyap, dan semuanya tampak seperti masalah server.
Setelah aplikasi ditetapkan, pilihan server menyempit dan sisa perakitan punya sasaran.
Apa yang sebenarnya diterapkan aplikasi ponsel
Daftar klien yang diterbitkan menjelaskan sebuah aplikasi, bukan layanan. Aplikasi OpenVPN Connect untuk Android mengharapkan server OpenVPN; aplikasi itu tidak menyediakan sisi server. Aplikasi itu juga tidak menjadi klien IPsec atau L2TP ketika sebuah profil terlihat serupa.
Perbedaan itu paling penting saat mengikuti panduan lama. Resep yang ditulis untuk protokol yang telah ditinggalkan aplikasi saat ini tetap akan terpasang bersih di Pi dan tetap gagal di ponsel, yang terbaca sebagai kesalahan konfigurasi dan bukan ketidakcocokan protokol.
Periksa dokumentasi aplikasi saat ini untuk format profil yang diimpornya sebelum berkomitmen pada paket server. Lima menit membaca lebih baik daripada membangun ulang.
Kesepakatan empat bagian
Catat empat hal dan simpan bersama: sistem operasi dan versi aplikasi ponsel, penerapan server di Pi, kebijakan autentikasi dan kepercayaan, serta titik akhir eksternal. Masing-masing dari keempatnya dapat membatalkan tiga yang lain.
Peningkatan aplikasi, pergantian paket server, atau otoritas sertifikat baru memutus kesepakatan, dan kegagalannya terlihat sama dari ponsel setiap kali. Empat hal yang tercatat itulah yang memungkinkan Anda mengenali bagian mana yang bergeser.
Kredensial punya tugas terpisah
Putuskan apakah profil memakai sertifikat klien, nama pengguna dan kata sandi, atau kombinasi yang didukung, dan samakan kedua ujungnya. Identitas server dan materi CA tepercaya juga harus cocok dengan apa yang akan diterima klien.
Sertifikat publik CA dan kunci privat penandatangannya adalah objek berbeda. Hanya bagian publik yang termasuk dalam profil ponsel. Menaruh kunci penandatangan di ponsel berarti membagikan kemampuan membuat identitas, yang merupakan kebalikan dari tujuan CA. Perlakukan berkas itu sebagai objek paling sensitif dalam seluruh perakitan.
Gunakan alur ekspor dan impor yang didukung layanan alih-alih merakit profil dengan tangan. Profil rakitan tangan biasanya membawa direktif khusus desktop yang diabaikan atau ditolak aplikasi seluler.
Yang terpenting, jangan ganti validasi sertifikat dengan "terima server apa pun" agar contoh lama bisa terhubung. Itu mengubah masalah kompatibilitas menjadi penerobosan autentikasi, dan biasanya bertahan sampai produksi karena berhasil.
Keterjangkauan adalah kontrak terpisah
Ponsel harus menjangkau titik akhir eksternal server melalui susunan hulu yang sebenarnya. Penerjemahan router rumah, penyaringan, dan NAT operator semuanya berada di antara keduanya. Nama DNS dinamis hanya memberi titik akhir sebuah nama yang stabil; itu tidak membuat jalur masuk.
Lalu tentukan apa yang boleh dijangkau klien setelah terhubung: prefiks privat atau jalan keluar internet penuh, jalur penerusan dan balasannya, perilaku DNS, dan apakah IPv6 termasuk cakupan. Login yang berhasil tidak membuktikan satu pun dari itu.
Terima ponsel dan profil yang dimaksud secara langsung, termasuk pemeriksaan bahwa sumber daya tak berwenang tetap tak terjangkau dan bahwa pencabutan benar-benar menghapus akses. Keberhasilan dengan klien desktop memvalidasi klien desktop itu, bukan ponsel di tangan Anda. Daftar OpenVPN Connect adalah contoh konkret aplikasi klien yang mengharapkan layanan yang sesuai.