OpenVPN Debian Squeeze dengan contoh kasus
VPN (Virtual Private Network) merupakan suatu cara untuk membuat sebuah jaringan bersifat “private” dan aman dengan menggunakan jaringan publik misalnya internet. VPN dapat mengirim data antara dua komputer yang melewati jaringan publik sehingga seolah-olah terhubung secara point to point. Data dienkapsulasi (dibungkus) dengan header yang berisi informasi routing untuk mendapatkan koneksi point to point sehingga data dapat melewati jaringan publik dan dapat mencapai akhir tujuan.
Sedangkan untuk mendapatkan koneksi bersifat private, data yang dikirimkan harus dienkripsi terlebih dahulu untuk menjaga kerahasiaannya sehingga paket yang tertangkap ketika melewati jaringan publik tidak terbaca karena harus melewati proses dekripsi. Proses enkapsulasi data sering disebut “tunneling“.
OpenVPN adalah satu diantara sekian jenis VPN yang mudah dikonfigurasi, untuk kali ini kita akan membahas dalam 2 kasus yang dijelaskan melalui gambar berikut :
kasus pertama
Pada kasus pertama client di luar jaringan akan melakukan akses ke jaringan kantor yang berada dibelakang OpenVPN Server, dalam hal ini OpenVPN server bertindak sebagai router yang akan meneruskan paket yang datang dari client OpenVPN.
Tahap konfigurasinya adalah sebagai berikut :
Lakukan instalasi OpenVPN pada komputer yang tersedia menggunakan perintah
#apt-get install openvpn
Setelah selesai instalasi maka buat certifikate sesuai kebutuhan dan jumlah client yang akan mengakses ke jaringan lokal
langkah2 pembuatan certificare sebagai berikut :
Buat direktori easy-rsa di /etc/openvpn
#mkdir /etc/openvpn/easy-rsa
Lalu copy semua file yang ada easy-rsa yang berada di cp /usr/share/doc/openvpn/examples/easy-rsa ke direktori yang kita buat tadi
#cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Setelah semua persiapan selesai saatnya konfigurasi, silahkan pindah direktori ke /etc/openvpn/easy-rsa/
#cd /etc/openvpn/easy-rsa
lalu ikuti langkah pembuatan certificate berikut :
#source ./vars
#./clean-all
#./build-ca
Pada perintah ./build-ca disini kita akan mengenerate Certificate Autority (CA) yang akan dipasang baik di sisi server maupun client, kita akan diminta untuk mengisi beberapa field yang ada, silahkan di isi sesuai identitas server anda
Untuk selanjutnya anda akan diminta membuat key server dan memberinya nama sesuai server anda
#./build-key-server servername
Setelah selesai anda lakukan generate diffie-hellman parameter yang akan digunakan untuk pertukaran kunci antara client dan server
#./build-dh
Langkah selanjutnya silahkan generate key untuk masing2 client yang diperlukan untuk konek, jika client yang akan terhubung berjumlah 5 maka anda harus mengenerate key client sebanyak 5 juga
#./build-key client1
#./build-key client2
#./build-key client3
#./build-key client4
#./build-key client5
Isilah filed2 sesuai dengan identitas client anda
Setelah semua selesai copy file keys yang ada di folder easy-rsa ke dalam direktori /etc/openvpn/
#cp /etc/openvpn/easy-rsa/keys /etc/openvpn/keys
Setelah generate file client selesai lakukan konfigurasi di sisi server, create file server.conf
#touch /etc/openvpn/server.conf
#nano /etc/openvpn/server.conf
dan isi seperti berikut :
local 202.xxx.xxx.xxx # silahkan isi dengan ip publik server anda
port 1194 # anda bisa merubah port yang anda gunakan, untuk port default adalah 1194
proto tcp # ada 2 opsi yang bisa digunakan yaitu protokol tcp dan udp
dev tun # anda bisa memilih device tun dan tap
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpn-router.crt
key /etc/openvpn/keys/vpn-router.key
dh /etc/openvpn//keys/dh1024.pem
server 1.2.3.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
comp-lzo
persist-key
persist-tun
status server-tcp.log
verb 3
Silakan rubah konfigurasi diatas sesuai kebutuhan anda, dan setelah selesai silahkan lakukan start aplikasi OpenVPN servernya.
#/etc/init.d/openvpn start
Jika mengalami error dilahkan cek kembali konfigurasi anda. Jika server anda tidak ada error silahkan lakukan ujicoba dengan client OpenVPN anda.
Sebagai tambahan konfigurasi karena server OpenVPN anda sebagai router maka silahkan lakukan hal berikut:
Tambahkan konfigurasi iptables untuk open port 1194 dan routing ke jaringan lokal
#/sbin/iptables -I INPUT -p tcp --dport 1194 -j ACCEPT
#/sbin/iptables -t nat -A POSTROUTING -s 10.8.8.0/24 -j SNAT --to 202.xxx.xxx.xxx
#/sbin/iptables -t nat -A POSTROUTING -s 10.8.8.0/24 -o eth0 -j MASQUERADE
Edit juga konfigurasi /etc/sysctl.conf agar PC anda berfungsi sebagai router
#nano /etc/sysctl.conf
Rubah konfigurasi dari
net.ipv4.ip_forward=0
menjadi
net.ipv4.ip_forward=1
Lalu save konfigurasi dan ketik sysctl -p untuk mengaktifkan
Setelah selesai lakukan test ping ke ip di jaringan lokal.
Pada kasus kedua kita akan mengkonfigurasi OpenVPN server tanpa routing ke jaringan lokal, tujuan dari system remote pada topologi kedua adalah masing2 client yang terkoneksi dan mendapat ip dari server bisa saling berkomunikasi satu sama lain baik menggunakan protokol tcp maupin icmp.
berikut konfigurasi yang ditambahkan di sisi server :
local 202.xxx.xxx.xxx # silahkan isi dengan ip publik server anda
port 1194 # anda bisa merubah port yang anda gunakan, untuk port default adalah 1194
proto tcp # ada 2 opsi yang bisa digunakan yaitu protokol tcp dan udp
dev tun # anda bisa memilih device tun dan tap
client-to-client
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpn-router.crt
key /etc/openvpn/keys/vpn-router.key
dh /etc/openvpn//keys/dh1024.pem
server 1.2.3.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 5 30
comp-lzo
persist-key
persist-tun
status server-tcp.log
verb 3
Pada kasus kali ini anda tidak perlu menambahkan konfigurasi iptables seperti contoh kasus yang pertama, anda cukup menambah konfigurasi seperti baris yang dicetak tebak diatas. Setelah itu lakukan restart service OpevVPN dan lakukan ping ke masing2 client yang terkoneksi
#/etc/init.d/openvpn restart
done.
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment