Categories: Linux

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.

Gambar 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 😀

 

Akhmad Fakhoni Listiyan Dede

Share
Published by
Akhmad Fakhoni Listiyan Dede

Recent Posts

Install kubernetes cluster using kubeadm

Hello everyone! 👋 Welcome to our step-by-step guide on using kubeadm to install Kubernetes. It's…

10 months ago

Meningkatkan Efisiensi Memory Proxmox Lebih dari 20%

Proxmox adalah hypervisor yang populer digunakan karena penggunaannya yang cukup simpel jika dibandingkan dengan hypervisor…

4 years ago

Longhorn Failed Upgrade from v0.8.1 to v1.0.0 caused by pv created before v0.6.2

This post is mirror of https://forums.rancher.com/t/failed-upgrade-from-v0-8-1-to-v1-0-0-caused-by-pv-created-before-v0-6-2/17586 I scale down all pods that has vpc to…

4 years ago

Cara Setup Network Ubuntu Server 18.04 pada Proxmox

Ubuntu Konfigurasi network pada Ubuntu Server 18.04 berbeda dengan ubuntu versi sebelumnya. Versi sebelumnya menggunakan…

4 years ago

VSCode Terminal Font Fix on MacOS

For detailed problems, see https://notulensiku.com/2019/02/fix-integrated-terminal-font-vscode/ To solve on mac, you need to install powerline fonts…

5 years ago

Enable Forward Secrecy pada Apache

Untuk mengaktifkan Forward Secrecy pada web browser Apache, versi minimum yang dibutuhkan adalah: OpenSSL 1.0.1c+Apache…

5 years ago