Langsung ke konten utama

Routing Otomatis pada Jaringan Terintegrasi OpenVPN (All hail OpenVPN!)

Seperti yang sebelumnya saya katakan pada tulisan disini, bahwa anda dapat membuat sebuah jaringan terpadu yang bersifat private network dengan memanfaatkan internet. Anda bisa menggunakan protokol yang mendukung Virtual Private Network (VPN). Dengan VPN, komputer yang terhalang firewall ataupun mengalami masquerading tetap dapat saling terhubung.

Permasalahan muncul ketika sebuah perangkat yang terhubung dengan VPN server mempunyai subnet yang berada dibelakangnya. Maka perangkat yang berada pada subnet tersebut tidak dapat menjangkau VPN server dikarenakan VPN server tidak memiliki routing table yang mengarah kepada perangkat itu.

Untuk lebih jelasnya, silahkan perhatikan topologi berikut:

  VPN client1                VPN server                   VPN client2
     {router}                       {VPS}                          {router}
(10.10.10.2/24) ==== (10.10.10.1/24) ==== (10.10.10.3/24)
          |                                                                    |
          |                                                                    |
          |                                                                    |
          |                                                                    |
      userA                                                              userB
       {PC}                                                                {PC}
(192.168.1.1/24)                                          (192.168.2.1/24)

VPN client1 dapat berkomunikasi dengan VPN server dan VPN client2 ataupun sebaliknya. Karena masing-masing perangkat mempunyai routing langsung (direct routing). Namun ketika userA hendak menjangkau VPN client2 dan userB, maka userA tidak akan pernah mendapatkan reply sampai waktu habis (timeout). Hal tersebut dikarenakan VPN client2 tidak memiliki routing table untuk jaringan 192.168.1.0/24

Solusinya adalah menambahkan semua subnet pada seluruh perangkat yang belum mengenalnya (tidak terdapat pada routing table mereka). Mungkin tidak menjadi masalah jika perangkat yang terintegrasi sedikit. Bagaimana jika ada banyak dan subnet yang diberikan seringkali berubah?

PREREQUISITE
- Konfigurasi dasar OpenVPN (dapat dilihat DISINI)

Anda dapat menggunakan OpenVPN dan mengaktifkan fitur push. Fitur push ini akan memaksa OpenVPN client untuk melakukan perintah dari OpenVPN server. Beberapa perintah yang kompatibel dengan push diantaranya:
- dhcp-option
  |- DNS
  |- WINS
- gateway
- route
- perintah lain yang serupa dengan push yaitu ifconfig-push berfungsi untuk memberikan ip pool yang sudah ditentukan.

Perintah yang sesuai dengan kebutuhan saat ini adalah push route. Push route ini akan memaksa OpenVPN client untuk melakukan routing terhadap jaringan yang diberikan. Setiap client yang terhubung dengan OpenVPN server maka mendapatkan routing table yang ditawarkan apapun keadaannya. Anda tidak perlu melakukan routing secara manual satu persatu pada setiap perangkat.

Anggap saja, anda sudah menguasai konfigurasi dasar OpenVPN server.

LANGKAH 1. Silahkan buka file konfigurasi di /etc/openvpn/server.conf kemudian tambahkan baris warna merah

port 1194 
proto tcp-server
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.10.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 3 10
auth SHA1
cipher AES-128-CBC # AES
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 6
topology subnet
client-config-dir ccd
config route.conf
client-to-client

Keterangan:
- topology subnet = mendefinisikan bahwa topologi yang digunakan adalah subnet (pada dasarnya OpenVPN memiliki 3 topologi
- client-config-dir ccd = mendefinisikan bahwa letak seluruh konfigurasi client berada pada direktori /etc/openvpn/ccd
- config route = memasukkan konfigurasi route (serupa dengan perintah include). Lebih baik routing table dipisahkan dari konfigurasi utama.
- client-to-client = perintah agar komunikasi antar client tidak dilewatkan di layer 3.

LANGKAH 2. Buat direktori ccd dengan lokasi /etc/openvpn/. Direktori ini digunakan untuk menampung seluruh konfigurasi client. Anggap saja common name-nya (CN) adalah client1 dan client2 (untuk CN silahkan baca kembali posting Konfigurasi OpenVPN pada Debian Jessie).

client1 berisi
ifconfig-push 10.10.10.2 255.255.255.0
iroute 192.168.1.0 255.255.255.0

client2 berisi
ifconfig-push 10.10.10.3 255.255.255.0
iroute 192.168.2.0 255.255.255.0

keterangan:
- ifconfig-push = memberikan client IP address yang sudah ditentukan.
- iroute =  memberitahu server bahwa client memiliki jaringan tersebut dibelakangnya.

LANGKAH 3. Buat file dengan nama route.conf pada direktori /etc/openvpn. File ini berisi daftar route yang harus dimasukkan (push) pada setiap mesin, termasuk server itu sendiri.

route 192.168.1.0 255.255.255.0 10.10.10.2
route 192.168.2.0 255.255.255.0 10.10.10.3
push "route 192.168.1.0 255.255.255.0"
push "route 192.168.2.0 255.255.255.0"

- route = memasukkan routing table pada server
- push "route ..." = mendistribusikan routing table keseluruh client.


LANGKAH 4. Start atau restart OpenVPN server. Setelah status OpenVPN server aktif dan tanpa kendala maka setiap client dan server akan mendapatkan routing table baru.




Terima kasih. Semoga bermanfaat.
Salam






reference:
Openvpn.net. (2018). Documentation. [online] Available at: https://openvpn.net/index.php/open-source/documentation/ [Accessed 12 Jun. 2018].

Komentar

Postingan populer dari blog ini

Hubungan Manis antara Conan Edogawa dan Haibara Ai.

( Hubungan Manis antara Conan Edogawa dan Haibara Ai)  Halo para Conaners, tahu kenyataan unik nggak. Ternyata Haibara Ai tuh demen lho sama Conan Edogawa. Tapi dia berusaha menyembunyikannya lantaran dia udah tau kalo Conan (Shinichi) tuh suka dan cinta sama Ran. Haibara yang kita ketahui mempunyai kepribadian dingin ini, tak gampang putus asa nih buat nunjukin kegigihannya untuk mendapatkan perhatian dari Conan. Yuk kita lihat, usaha apa saja yang dilakukan Haibara untuk menaklukan Conan :

Live Streaming ke Banyak Media Sosial

Beberapa dekade terakhir, banyak sekali para gamer yang "nyambi" cari uang dengan melakukan live stream di media sosial terutama Facebook. Sebenarnya saya juga mulai kesel karena para fans live streamer sering membagikan live streaming-nya ke grup Facebook. Sehingga grup Facebook yang awalnya diperuntukkan sebagai media diskusi malah jadi ajang pencarian views. Spam dan annoying banget.

Instalasi FreeRADIUS ft. daloRADIUS | [UPDATE - Study case pada Debian Buster]

NOTE: Artikel ini telah mengalami perubahan. Sebelumnya, versi sistem operasi yang saya gunakan adalah Debian Wheezy. Dengan menggunakan Debian Buster beberapa versi package  juga ikut berubah. Update package akan saya beri warna font merah Remote Authentication Dial-In User Service atau sering disebut dengan RADIUS adalah sebuah protokol jaringan yang melayani administrasi pengguna dalam penggunaan jaringan secara terpusat. Aspek pelayanan yang diberikan meliputi  Authetication, Authorization dan Accounting  yang kemudian disingkat AAA atau triple A . RADIUS akan sangat dibutuhkan oleh provider skala besar, misalkan  Internet Service Provider (ISP) . Untuk platform MikroTik, RADIUS sering dikenal dengan userman ( user manager ) karena tugasnya memang manajemen pengguna.