Umumnya VPN (Virtual Private Network) digunakan karena alasan keamanan. Trafik data yang dilewatkan VPN dibungkus (dienkripsi) sehingga data tersebut seharusnya hanya bisa dibuka oleh pengirim dan penerima. Ketika perangkat kita terhubung dengan VPN, kita akan dapat virtual IP dari VPN. Dengan kata lain, saat menjelajah internet yang terbaca adalah virtual IP, dan perangkat kita tidak diketahui oleh penerima.

VPN juga bisa digunakan untuk menyambungkan dua jaringan lokal yang berbeda melalui internet. Hal ini bisa dimanfaatkan untuk raspi karena tidak punya IP publik. Jadi nantinya raspi dihubungkan ke server VPN, dan akan mendapat IP dari VPN tersebut. Ketika laptop juga saya hubungkan dengan server VPN itu, maka laptop berada di jaringan yang sama dengan raspi yaitu jaringan VPN. Dari situ saya bisa mengakses raspi dimana saja dan kapan saja asalkan kondisi raspi terhubung ke server VPN yang sama. Tidak perlu melakukan port forwarding 🎉

Ada beberapa tipe VPN seperti PPTP, L2TP, IPSec, OpenVPN, dll. Kali ini tipe VPN yang saya gunakan ialah PPTP (Point-to-Point Tunneling Protocol). Untuk penjelasan teknis PPTP bisa dicari di internet banyak hehe.

Perangkat saya:

Langkah-langkah:

  1. Install package pptp-linux, ketik
sudo apt install pptp-linux
  1. Buat file konfigurasi vpn, ubah namavpn sesuai keinginan.
    Contoh: sudo nano/etc/ppp/peers/vpnub
sudo nano /etc/ppp/peers/namavpn
  1. Isi dengan konfigurasi berikut,
pty "pptp vpn_server_hostname --nolaunchpppd --debug"
name username
password pass
remotename PPTP
require-mppe-128
require-mschap-v2
refuse-eap
refuse-chap
refuse-mschap
noauth
debug
persist
maxfail 0
defaultroute
replacedefaultroute
usepeerdns
  • Ubah vpn_server_hostname dengan nama/IP server VPN yang ingin dihubungkan.
  • Ubah username dan pass dengan data akun VPN yang dimiliki.
  1. Gunakan perintah sudo pon namavpn untuk connect ke server VPN. Ubah namavpn dengan nama file konfigurasi yang sebelumnya disimpan. Contoh, sudo pon vpnub
  2. Ketik ifconfig VPN saya muncul di interface ppp1 karena ppp0 sudah terpakai untuk modem. IP yang saya beri tanda ialah virtual IP yang didapat dari server VPN.
  1. Untuk menunjukkan bahwa raspi sudah terhubung keserver VPN, kita bisa mencoba speedtest. Karena speedtest bisa mendeteksi ISP kita. Saya menggunakan speedtest CLI (baca: https://nisaik.com/install-speedtest-cli-di-raspberry-pi/)
  1. Selanjutnya HP/laptop saya sambungkan ke VPN yang sama. Saya coba akses ke virtual IP raspi berhasil terhubung. Yang pernah saya coba yaitu:
  • Akses webserver raspi dengan mengetik IP virtual raspi.
  • Login SSH dengan IP virtual raspi.
    Keduanya berhasil 🎉
  1. Gunakan perintah sudo poff namavpn untuk disconnect dari server VPN. Contoh, sudo poff vpnub

Note: Problem muncul karena virtual IP yang didapat raspi bisa berubah-ubah. Jika kita tidak bisa melihat IP tersebut secara langsung, otomatis tidak tahu IP nya. Solusi nya dengan script tambahan yang berfungsi membaca virtual IP dan mengirimkannya ke kita. Akan saya posting di lain waktu.

Thanks,
-Nisa