Ini merupakan tutorial bagaimana set up OpenVPN di server Ubuntu Feisty. Sebelum melakukan set up pastikan Ubuntu Server sudah terinstal dan berjalan dengan baik. Untuk melakukan instalasi OpenVPN pastikan beberapa dependency package sudah terinstall. Biasanya sih ubuntu akan otomatis menginstall package lain yang dibutuhkan. Namun bila paket yang dibutuhkan tidak terinstall secara otomatis maka bisa dilakukan installasi manual. Paket yang dibutuhkan adalah openssl, lzo, pam. OpenSSL untuk kebutuhan enkripsi data yang dikirim melalui jaringan, LZO merupakan kompressor untuk mengkompress paket data yang dikirim sehingga ukuran paket yang dikirim lebih kecil dan lebih cepat. Sedangkan PAM biasanya sudah diinstall, merupakan paket untuk fungsi otentikasi lokal ke server Linux. Untuk installasi OpenVPN setelah semua siap lakukan langkah sebagai berikut:

1. Install OpenVPN server, caranya ketik di terminal “sudo apt-get install openvpn”. Installasi akan mencari paket pada repository, bila tidak tersedia secara lokal atau pada CD installer maka harus terhubung ke internet agar installer dapat mendownload paket yang dibutuhkan. Installasi akan berjalan tunggu hingga selesai.
2. Copy file contoh dari folder document OpenVPN ke folder konfigurasi OpenVPN. Caranya ketik di terminal
sudo cp -R /usr/share/doc/openvpn/example /etc/openvpn/
3. Masuk ke folder example yang telah di copy ke folder konfigurasi OpenVPN. Caranya ketik di terminal cd /etc/openvpn/example
4. Setup Certificate Authority dan server key dimana sertifikat ini harus dimiliki oleh tiap client. Sertifikat merupakan file yang berfungsi sebagai kunci. tanpa file ini maka client tidak akan bisa terhubung. Cara setup sertifikat dan public key sebagai berikut:
sudo ./vars
sudo ./clean-all
sudo ./build-ca
Perintah-perintah diatas akan mengenerate sertifikat dan key yang dibutuhkan.
5. Selain sertifikat dan public key diatas kita juga perlu menggenerate private key yang akan digunakan oleh server. Ketikkan perintah berikut di terminal
sudo ./build-key-server server.
Jawab yes dengan menekan tombol Ypada pertanyaan
Sign the certificate? [y/n]
dan
1 out of 1 certificate requests certified, commit? [y/n].
6. Generate Diffie Hellman dengan perintah
sudo ./build-dh.
7. Perintah-perintah diatas akan membuat folder keys pada folder saat ini yaitu
/etc/openvpn/examples/keys/
folder ini dimiliki oleh root karena perintah dijalankan dengan sudo. Untuk itu kita perlu mengubah hak akses folder dengan perintah
sudo chmod -R 644 /etc/openvpn/example/keys
8. Copy file yang dibutuhkan ke folder utama konfigurasi openvpn yaitu dengan perintah
cd keys
sudo cp ca.* /etc/openvpn
sudo cp server.* /etc/openvpn
sudo cp dh1024.pem /etc/openvpn
9. Buat file konfigurasi dengan nama server.conf di folder OpenVPN. Berikut contoh dengan menggunakan vim editor. Pada terminal ketik "sudo vim /etc/openvpn/server.conf". Bila muncul screen baru kosong tekan "A" untuk mode edit masukkan teks konfigurasi berikut:
#plugin untuk membuat OpenVPN client login terlebih dahulu pada server sebelum terhubung
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
#client private key tidak diperlukan karena menggunakan login local
client-cert-not-required
username-as-common-name
#port yang digunakan server Openvpn, secara default berisi port 1194
port 1194
#Settingan protokol yang digunakan. Defaultnya adalah UDP
#namun sebagian besar ISP memblok paket UDP
#sehingga OpenVPN terkadang tidak bisa berjalan pada protokol UDP.
#Ganti tcp-server dengan UDP bila hendak menggunakan protokol UDP.
proto tcp-server
#tipe virtual network yang digunakan, tun untuk tunnel, dan tap untuk bridge mode.
dev tun
#Settingan certificate dan key untuk server
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
#Settingan untuk berjalan sebagai server
#Secara otomatis server akan memiliki IP 10.131.1.1 dan sisanya untuk client
server 10.22.1.0 255.255.255.0
#Agar client yang terputus memperoleh ip yang sama maka data koneksi disimpan pd file
ifconfig-pool-persist ipp.txt
#memberikan routing ke client agar network di routing melalui vpn
#sehingga client dapat mengakses network di belakan vpnserver
push "route 10.22.1.0 255.255.255.0"
#Settingan apakah client dapat saling terhubung atau tidak
client-to-client
keepalive 10 120
#Setting agar koneksi dikompress dan algoritma LZO
comp-lzo
#Untuk keamanan maka aplikasi diubah running user & groupnya
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

Setelah selesai tekan "escape" untuk kembali ke mode normal, lalu tekan ":wq" agar keluar dari vim editor dan menyimpan file.
10. Jalankan openvpn dengan perintah
sudo /etc/init.d/openvpn start.

Konfigurasi server sudah selesai. Kita sisa melakukan konfigurasi klien. Saya membahas client windows karena sebagian besar client masih menggunakan windows. Berikut langkah konfigurasi klien VPN:

1. Download OpenVPN GUI dari http://openvpn.se/download.html
2. Install hingga selesai.
3. Buat file konfigurasi klien di folder default OpenVPN di "C:\Program Files\OpenVPN\config\". Caranya buka notepad dan masukkan teks konfigurasi seperti contoh berikut:

#Setting agar user memasukkan user dan password
auth-user-pass
#Setting agar bertindak sebagai client
client
#Tipe device dan protokol yang digunakan
dev tun
proto tcp-client
#Alamat & port remote server OpenVPN yang akan diakses
#Ganti x.x.x.x dengan alamat publik server OpenVPN
remote x.x.x.x 1194
resolv-retry infinite
nobind
persist-key
persist-tun
#Settingan agar menggunakan sertifikat CA
#yang akan dibandingkan dengan server
ca ca.crt
ns-cert-type server
#Settingan untuk kompresi data
comp-lzo
verb 3

Simpan dengan nama client.ovpn di folder config Openvpn.
4. Jalankan openvpn GUI lalu pada icon OpenVPN Gui di tray klik kanan->Connect. Masukkan username dan password user lokal pada server OpenVPN.
5. Bila tidak ada masalah maka client akan terhubung dengan server.

Demikian tutorial set up OpenVPN. Untuk lebih jelas sebaiknya menggunakan manual openvpn dan howto openvpn. Tutorial ini cuma memberi langkah praktis. Saya memilih settingan tidak menggunakan private key untuk tiap klien. Tapi menggunakan autentikasi ke server OpenVPN menggunakan account local pada server. Tiap klien yang terhubung harus memiliki user name local yang berbeda agar tidak terjadi bentrok saat terhubung dengan server. Semoga tutorial ini bisa membantu.
Diposting oleh Hadi Yudhitia

1 komentar:

Anonim mengatakan...

saya mau nya,, saya install openvpn di ubuntu server 8.10. ketika saya ketik apt-get install openvpn,, napa tidak melakukan proses install? mohon dikaci penerangan.. thanks b4

9 Oktober 2010 pukul 16.44