Rekayasa

Project : Raspberry Pi Wireless VPN Router

 

Akses internet melalui Raspberry Pi
Akses internet melalui Raspberry Pi

Kasus : Katakanlah basecamp suatu komunitas memberikan akses internet pada anggotanya secara gratis memakai Wifi. Masalahnya akses internet tidak jatuh dari langit. Sebelum membagikan internet kepada anggota via wifi di basecamp, pengurus komunitas harus mendapatkan koneksi dari ISP dengan cara membayar dan berlangganan. Apakah sesudah membayar dan berlangganan masalah akan beres? Belum tentu.

Satu, jika ISP menerapkan sensor, maka seluruh penggguna wifi se-basecamp juga ikut “menikmati” sensor. Dua, pun bila sensor itu diakali melalui VPN, maka biasanya pengguna wifi-lah yang harus mensetup VPN secara mandiri. Setup, install, dsb adalah hal rumit bagi awam sehingga menjadi sesuatu yang “kurang realistis” untuk diterapkan. Apa solusinya?

Jika di wireless router milik komunitas memiliki fungsi VPN, maka sensor/filtering milik ISP bisa ditembus oleh seluruh client tanpa repot. Dan sistem ini (wireless router sekaligus VPN) akan dijalankan di Raspberry Pi. 

A. Perangkat yang Dibutuhkan

Pada tutorial ini menggunakan :

 

B. Konfigurasi yang Diperlukan

Sebelum mengikuti tutorial ini, maka seluruh langkah dibawah harus sudah diselesaikan

  1. Mengonfigurasi PPTP VPN Client di Raspberry Pi
  2. Enable USB wireless adapter di Raspberry Pi
  3. Menggunakan Raspberry Pi sebagai Wifi Router

 

C. Eksekusi

Pada poin B.1 diatas, maka akses internet didapat dari eth0 (kabel) kemudian diteruskan ke ppp0 (VPN) sehingga Raspberry Po sebagai sebuah “pc” (bukan router) sudah akan terhubung ke internet melalui PPTP VPN.

  • Internet  —>  eth0 —> VPN —> akses single user

Sebaliknya pada poin B.3, akses internet yang didapat dari eth0 dibagikan ulang kepada banyak user melalui Wifi, namun tidak melalui VPN.

  • Internet —> eth0 —> wifi wlan0 —> akses multiple user

Sehingga yang harus dilakukan adalah “menggabungkan” keduanya. Dimana sebelum koneksi internet dibagikan pada user melalui Wifi, terlebih dulu sudah ditunnelkan lewat VPN.

  • Internet —> eth0 —> VPN —> wifi wlan0 —> akses multiple user

Bagaimana caranya?

1. Flush dulu iptables yang sudah ada

sudo iptables --flush
sudo iptables -L -n # cek iptables

2. Koneksikan Raspberry Pi ke VPN server

sudo pptpsetup --create <namavpnserver> --server <ipvpnserver> --username <usernamevpn> --password <passwordvpn> --encrypt --start

3. Rutekan traffic internet ke VPN

sudo route add -net "0.0.0.0/0" dev "ppp0"

4. Alirkan traffic dari VPN (ppp0) ke Wireless (wlan0)

sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
sudo iptables -A FORWARD -i ppp0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT
sudo iptables-save

Selesai. Maka user yang mengakses internet lewat wifi, trafficnya sudah masuk di VPN tanpa perlu mensetup apa-apa lagi.