Membuat Raspberry Pi menjadi VPN Router
Beberapa waktu lalu saya menerima email dengan judul Windscribe Router, prinsip dasarnya adalah sebuah router fisik yang dapat digunakan sebagai Hotspot yang terhubung dengan server VPN.
Kali ini kita akan membuat Raspberry PI supaya menjadi VPN Router.
Konsep utama , Raspberry PI akan kita seting supaya login sebagai Client OpenVPN dan menjadi internet Gateway
- Login sebagai OpenVPN Client di Raspberry PI
- Aktifkan fungsi port forward di Raspberry PI
- Tambahkan bridge untuk menghubungkan eth0 dan wlan0 di Raspberry PI
- Ganti alamat Gateway pada perangkat yang akan terhubung ke internet dengan IP Raspberry PI
Konfigurasi Raspberry PI sebagai Client OpenVPN
Saya membuat server OpenVPN dengan mempergunakan certificate supaya tidak memerlukan username atau password ketika terhubung. Jika mempergunakan server OpenVPN yang memakai fungsi autentifikasi user dan password, maka silakan disesuaikan 🙂
Install openvpn dengan mengetik perintah : apt-get install openvpn
Buat file konfigurasi di Raspberry PI di /etc/openvpn/client.conf dengan isi berikut :
client
dev tun
proto udp
remote 45.141.xxx.xxx 1194
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
auth-nocache
remote-cert-tls server
Dalam konfigurasi client ini, kita mempergunakan file ca.crt, client.crt, dan client.key yang didownload dari server vpn dan disimpan di Raspberry PI pada /etc/openvpn
- chmod 600 /etc/openvpn/client.key
Untuk melakukan koneksi ke server VPN, dapat dilakukan dengan perintah:
systemctl start openvpn@client
Untuk menjalankan openvpn ketika boot, dapat dilakukan dengan perintah:
systemctl enable openvpn@client
Untuk melihat status koneksi VPN, kita bisa memberikan perintah :
systemctl status openvpn@client
Untuk melihat hasil deteksi IP dari Raspberry PI bisa dengan memakai perintah curl -S ifconfig.co yang jika sukses akan memunculkan ip server openvpn
Konfigurasi Port Forwarding di Raspberry PI
Uncomment baris net.ipv4.ip_forward=1 pada file /etc/sysctl.conf
Seting masquerade supaya traffic dilewatkan melalui tun0
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Simpan iptables dengan perintah:
iptables-save > /etc/iptables.ipv4.nat
Supaya iptables dimuat ulang saat boot, maka tambahkan baris ini pada file /etc/rc.local :
iptables-restore < /etc/iptables.ipv4.nat
Konfigurasi Bridge pada Raspberry PI
Konfigurasi bridge agar akses internet antara eth0 dan wlan0 dihubungkan
sudo apt-get install bridge-utils
sudo brctl addbr br0
sudo brctl addif br0 eth0
Tambahkan baris berikut pada /etc/network/interfaces kemudian reboot
auto br0
iface br0 inet manual
bridge_ports eth0 wlan0
Dalam tutorial ini, IP Raspberry Pi adalah :
– 192.168.1.50 : LAN
– 192.168.1.60 : WiFi
– 10.8.0.6 : IP yang didapatkan setelah terhubung ke server openvpn
Seting Gateway pada perangkat lain
Berikut adalah contoh cara seting Gateway pada Laptop, karena Laptop saya memakai Wifi, maka setelah terhubung ke jaringan Wifi, saya hanya perlu merubah ip Gateway saja.
Dalam tutorial ini, contoh pengaturan IPnya adalah :
– IP Laptop saya set manual ke 192.168.1.210
– Subnet prefix jika mempergunakan 255.255.255.0 maka diisi dengan prefix length 24
– Gateway diisi dengan IP Raspberry PI, dalam contoh ini adalah 192.168.1.60
– Preferred DNS saya memakai 8.8.8.8, bisa juga memakai dns lain
Setelah selesai melakukan perubahan pada konfigurasi IP Laptop, maka selanjutnya kita buka situs ipsaya.com untuk memerika apakah IP sudah berubah atau belum.
Gambar diatas adalah hasil deteksi dari browser tanpa mempergunakan Proxy ataupun menjalankan VPN di Laptop.
- Semoga bermanfaat….
Ditulis oleh Erawan Arif Nugroho, pada 3 November 2019
Member discussion