Membuat Router OpenVPN

Pasti ada yang bertanya – tanya nih, apa sih router openvpn itu? Udah capek capek setting router, kenapa harus bikin openvpn nya juga?

Nah jadi gini. Misalkan nih, kita udah beli 1 akun VPN premium, terus si akun ini dia cuma bisa buat 1 akun. kalo kita punya HP, laptop, PC, gak bisa donk 1 akun dipake buat semua gadget ataupun PC kita? Nah makanya dibikinlah router OpenVPN ini. Dengan cara ini, semua koneksi dari router ke cloud bakalan terenkripsi oleh si VPN.

Drawing1Gambar di samping adalah topologi dari router OpenVPN yang akan dibuat. OpenVPN yang kita pakai kali ini adalah OpenVPN Access Server, yang memiliki limit 2 akun untuk tiap server. Alasan memakai OpenVPN Access Server adalah kemudahan dalam instalasi OpenVPN tersebut.

 

 

 

 

Alat dan bahan:

  • Server OpenVPN yang memiliki IP public. Untuk kali ini, server yang dipakai adalah Centos 7. Untuk instalasi OpenVPN Access Server, dapat dilihat di sini.
  • Komputer yang di setting sebagai router, untuk contoh kali ini, memakai fresh install Ubuntu 14.04. Tapi seharusnya untuk linux yang lain pun sama saja.
  • Router memiliki 2 ethernet card
  • Komputer client semua menggunakan ip static

Permisalan:

  • Koneksi internet pada eth0 memiliki subnet 10.10.10.10 (atau dapat berupa IP apapun yang diberikan oleh provider.
  • Koneksi LAN pada eth1, dengan subnet 192.168.0.0/24 yang memiliki IP 192.168.0.1

Pada tutorial kali ini, kita sudah memiliki OpenVPN Server dengan client.ovpn nya dan hanya fokus pada setting gatewaynya agar dapat meroute semua traffic ke openvpn.

Yang pertama kali dilakukan adalah mengeset eth0 dan eth1 seperti permisalan di atas.

Setelah IP di set dengan benar, maka langkah selanjutnya adalah mengeset ipv4 forward agar paket yang masuk ke router dapat diteruskan ke internet.

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

Namun cara di atas tidaklah cukup. Masih perlu setting firewall (menggunakan iptables) agar paket dapat diteruskan dengan benar. Untuk gateway biasa, langkah setting firewallnya adalah sebagai berikut:

  • Set eth0 (eth yang mengarah ke internet) menjadi masquerade
  • Set agar paket yang datang dari eth1 diteruskan ke eth0
  • Set agar paket yang datang dari eth0 diteruskan ke eth1

Namun untuk kasus kali ini, saat openvpn sudah terkoneksi dengan server, akan ada tambahan tun0, sehingga settingan eth0 diubah menjadi tun0

  • Set tun0 (eth yang mengarah ke internet) menjadi masquerade
  • Set agar paket yang datang dari eth1 diteruskan ke tun0
  • Set agar paket yang datang dari eth0 diteruskan ke eth1

Untuk script iptablesnya akan menjadi seperti berikut:

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT

Nah persiapan untuk memforward packet sudah selesai. Tinggal menjalankan openvpn client

sudo openvpn --config client.ovpn

Masukkan username dan password dari OpenVPN Access Server. Daannn silahkan set PC ataupun gadget yang konek dengan router tersebut menggunakan subnet 192.168.0.0/24. Selamat ber-OpenVPN 😀

 

Leave A Comment