Hosting web atau VPS: bisakah paket Anda menjalankan server VPN?
Hosting bersama, aplikasi terkelola, dan server yang dikelola sendiri memberi kendali jaringan berbeda. Bandingkan empat kemampuan sebelum membeli atau memigrasikan apa pun.
Situs web yang berjalan adalah bukti bahwa penyedia dapat menyajikan HTTP, bukan bahwa Anda mengendalikan mesin. Di antara paket bersama, aplikasi terkelola, dan server yang dikelola sendiri ada jurang besar dalam hal apa yang boleh dilakukan akun terhadap jaringan. Putuskan sisi mana dari jurang itu yang dibutuhkan desain VPN Anda sebelum membayar satu tahun lagi. Empat kemampuan memisahkan keduanya, dan tak satu pun muncul di daftar harga.
Apa yang sebenarnya diberikan setiap paket
Perbandingan yang berguna bukan harga atau ukuran disk, melainkan kewenangan. Tanyakan apa yang bisa dijalankan akun, fitur kernel mana yang bisa dijangkau, port mana yang menerima lalu lintas masuk, dan apakah lalu lintas yang diizinkan bisa keluar lagi ke tempat lain.
Sebagian besar produk hosting jatuh ke tiga bentuk, dan hanya yang terakhir adalah server serba guna:
| Capability | Website plan | Self-managed server |
|---|---|---|
| Long-running custom process | Usually not permitted | Yours to run under a service manager |
| Virtual network interface | Almost never available | Present when the kernel module and privilege allow it |
| Arbitrary inbound port | Restricted to the web stack | Provider filtering still applies |
| Forwarding for clients | Not offered | Possible once routing and policy are configured |
Akun shell adalah sumber kebingungan yang biasa. Transfer file atau akses ke tugas terjadwal bisa tampak seperti administrasi sementara prosesnya dibatasi pada satu direktori dan sedikit operasi yang diizinkan.
Empat kemampuan yang menentukan jawabannya
Ambil berurutan, karena kegagalan di langkah pertama membuat sisanya tidak relevan.
Pertama, perangkat lunak harus berjalan sebagai proses berumur panjang yang bertahan melewati pemeliharaan. Kedua, implementasinya harus mampu membuat antarmuka virtualnya sendiri; di Linux itu biasanya berarti membuka /dev/net/tun dengan izin administratif yang relevan, seperti yang dokumentasi kernel TUN/TAP jelaskan, meski tidak setiap desain VPN memakai perangkat itu. Ketiga, klien harus menjangkau pendengar di alamat publik, transport dan port yang Anda maksud, dan proksi balik web yang menerima HTTPS tidak mengatakan apa pun tentang protokol tak terkait pada nomor yang sama. Keempat, lalu lintas yang diizinkan harus bisa diteruskan, dengan rute, penerusan, dan penerjemahan apa pun yang benar-benar didukung.
Ketentuan layanan berdiri di samping keempat hal itu dan sama sekali tidak teknis. Kuota lalu lintas tanpa batas biasanya menggambarkan permintaan web, bukan terowongan yang membawa unduhan orang lain. Baca bagian penggunaan yang dapat diterima sebelum mendesain berdasarkan itu, dan ingat akses pemulihan untuk hari ketika layanan tidak mau menyala.
Di mana akun situs web berhenti
Paket situs web biasanya menjalankan kode Anda di dalam runtime terkelola dengan titik masuk tetap. Bahkan ketika biner terowongan tersedia, prosesnya bisa kekurangan izin untuk membuka node perangkat, mengikat port istimewa, atau mengubah tabel perutean. Batasan itu adalah produknya, bukan kelalaian.
Karena itu plugin yang menjanjikan VPN biasanya ternyata proksi ke tempat lain. Jika akun saat ini hanya menawarkan kendali situs web, langkah jujurnya adalah server terpisah, bukan mencari modul yang membuka kewenangan yang hilang.
Ketika satu host harus menjalankan keduanya
Berbagi itu mungkin dan kadang masuk akal, tetapi perlakukan sebagai keputusan keamanan, bukan kenyamanan. Aplikasi web dengan formulir unggah berdiri di samping kredensial terowongan dan soket kendali, dan eksploit di satu mencapai yang lain. Akun terpisah, unit layanan terpisah, dan sistem berkas terpisah mengurangi paparan itu tanpa membeli mesin kedua.
Persaingan sumber daya sama pentingnya. Cadangan melalui terowongan dan proses web yang sibuk bersaing untuk uplink yang sama dan disk yang sama, dan kegagalannya tampak seperti situs lambat, bukan terowongan jenuh. Putuskan beban kerja mana yang menang sebelum insiden, dan batasi terowongan agar situs tetap menjawab.
Tidak ada dari kedua tataan itu yang terisolasi hanya karena kedua layanan berjalan. Kemampuan menghosting keduanya bersama adalah awal rancangan, dan kerja isolasi itulah yang membuatnya bisa dipertahankan.
Putuskan di host percobaan dengan empat perintah
Sebelum memigrasikan, sewa instans terkecil dari produk target selama satu jam dan uji keempat kemampuan itu secara langsung. Menebak dari tabel fitur memboroskan lebih sedikit uang daripada setahun dengan paket yang salah, tetapi jauh lebih banyak waktu.
Jalankan ini di host percobaan dan bacalah kegagalan sebagai jawaban, bukan penghalang:
ls -l /dev/net/tun
sudo ip tuntap add dev tun9 mode tun && sudo ip link del tun9
sysctl net.ipv4.ip_forward
ss -lunp | headDua baris pertama memberi tahu apakah perangkat terowongan bisa ada sama sekali. Baris ketiga melaporkan apakah host boleh meneruskan paket, dan baris keempat menunjukkan apa yang sudah mendengarkan sehingga konflik port tertangkap lebih awal. Penyedia yang gagal di baris kedua mungkin masih mendukung implementasi di ruang pengguna, jadi sebutkan mekanisme yang Anda butuhkan, bukan kategori produk, saat bertanya ke meja dukungan mereka.