Anda di halaman 1dari 11

Tutorial Install dan Konfigurasi OpenVPN

di VPS Ubuntu / Debian


Kali ini saya akan menuliskan tutorial tentang instalasi dan konfigurasi OpenVPN di Ubuntu
14.04 Server x64 bit, dan untuk di Debian sendiri kurang lebih stepnya adalah sama tinggal
penyesuaian sedikit.

Yang akan kita gunakan ini adalah OpenVPN versi Community Edition yang gratis dan tidak
dibatasi untuk jumlah clientnya, sedangkan ada satu lagi ada versi OpenVPN versi Acces
Server yang instalasinya jauh lebih mudah, tapi gratis hanya untuk 2 client dan untuk
selebihnya anda harus membayar lisensi.

Yang perlu diperhatikan, saya akan menggunakan 2 jalur untuk koneksi ke OpenVPN Server,
yaitu UDP pada port 1194 (default bawaan OpenVPN) dan jalur TCP port 443 (pastikan port
443 masih tersedia, belum dipakai untuk ssh tunnel dan lainnya)

Untuk mulai menginstal, pertama kali pastikan bahwa TUN/TAP server (VPS) anda sudah
aktif (enable). Untuk mengeceknya ketikkan perintah berikut :

cat /dev/net/tun

Pastikan Hasilnya seperti dibawah ini

cat: /dev/net/tun: File descriptor in bad state

Jika hasilnya berbeda, berarti TUN/TAP anda belum aktif, anda bisa mengaktifkannya
melalui panel web VPS anda, atau hubungi support Provider anda jika tidak bisa diaktifkan
dari sana.

Install dan Konfigurasi OpenVPN Server

1. Pertama-tama update repository ubuntu, dengan perintah

apt-get update

2. Install OpenVPN dan Easy-RSA , ketikkan perintah

apt-get install openvpn easy-rsa


3. Setelah terinstall, kemudian copykan script generate Easy-RSA ke direktori OpenVPN kita

cp -r /usr/share/easy-rsa/ /etc/openvpn

4. Buat direktori baru untuk easy-rsa keys

mkdir /etc/openvpn/easy-rsa/keys

5. Kemudian edit file variabel easy-rsa , ketikkan perintah

nano /etc/openvpn/easy-rsa/vars

Cari pada bagian bawah berikut ini, sesuaikan pengaturan settingnya dengan yang anda
punya, terutama pada bagian detail export KEY, sebagai contoh seperti dibawah ini

6. Save dan keluar dari editor.

7. Selanjutnya kita akan mengenerate Diffie hellman parameters, dengan perintah berikut

openssl dhparam -out /etc/openvpn/dh2048.pem 2048

tunggu beberapa saat, hingga prose selesai,


8. Kemudian inialisasikan Public Key Infrastructure, dengan jalankan perintah dibawah

cd /etc/openvpn/easy-rsa
. ./vars
./clean-all

9. Saatnya buat Certificate Authority (CA) dengan jalankan perintah dibawah ini

./build-ca

Dalam prosesnya akan ditanya beberapa pertayaan, enter-enter saja,

10. Kemudia buat server key dengan perintah dibawah, anda dapat mengganti tulisan
“serverv01” sesuaikan dengan pengaturan sebelumya,

./build-key-server server01
Akan muncul pertanyaan lagi, enter saja, dan 2 pertanyaan terakhir bisa anda jawab dengan
“y”, sampai muncul tulisan Database Updated.

11. Untuk menghindari UDP flood dan serangan DDoS kita perlu mengenerate ta.key,
jalankan perintah berikut

openvpn --genkey --secret keys/ta.key

12. Selanjutnya kita buat server config sebanyak 2 file, masing-masing untuk udp config dan
tcp config,

masuk ke direktori openvpn dulu

cd /etc/openvpn

13. Buat config udp file

nano server.conf

Isikan dengan baris-baris parameter berikut ini

port 1194
proto udp
dev tun
ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/server01.crt
key easy-rsa/keys/server01.key
dh dh2048.pem
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
client-cert-not-required
username-as-common-name
server 10.8.0.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-udp.log
verb 3

Save dan keluar dari editor.

14. Buat config tcp file

nano server-tcp.conf

Isikan dengan baris-baris parameter berikut ini

port 443
proto tcp
dev tun
ca easy-rsa/keys/ca.crt
cert easy-rsa/keys/server01.crt
key easy-rsa/keys/server01.key
dh dh2048.pem
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login
client-cert-not-required
username-as-common-name
server 10.9.0.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

Save dan keluar dari editor.

15. Sekarang Server Certificate Key telah berhasil dibuat, kita harus pindahkan file-file key
nya ke dalam direktori OpenVPN, jalankan perintah berikut

cp /etc/openvpn/easy-rsa/keys/{server01.crt,server01.key,ca.crt,ta.key} /etc/openvpn
ls /etc/openvpn

hasilnya

16. Kemudian kita edit config default OpenVPN, agar tcp dan udp dapat diload otomatis,

nano /etc/default/openvpn
Cari pada baris #AUTOSTART=”all” hilangkan tanda pagar # didepannya sehingga
menjadi AUTOSTART=”all”. Save dan keluar dari editor.

17. Selanjutnya restart OpenVPN dengan perintah,

service openvpn restart

Pastikan kedua service berjalaan yaitu config udp dan config tcp nya.

Dan pastikan ada 2 instances OpenVPN running di server, untuk mengeceknya

lsof -i |grep openvpn

18. Atau bisa juga anda dapat mengecek statusnya dengan perintah

service openvpn status

19. Langkah berikutnya aktifkan ip4 forwarding, gunanya untuk memforward trafik dari klien
agar tersambung ke internet melalui vpn server kita, pertama ketikkan perintah

echo 1 > /proc/sys/net/ipv4/ip_forward

20. Kemudian edit file sysctl.conf, dengan perintah

nano /etc/sysctl.conf

21. Uncomment hilangkan tanda pagar pada #net.ipv4.ip_forward = 1 hasilnya akan seperti
dibawah, save dan exit dari editor nano.

22. Langkah berikutnya beritahu firewall untuk memperbolehkan akses UDP dan akses jalur
TCP, kita akan menggunakan iptables, jalankan perintah berikut ini. Perhatikan : Jika anda
menggunakan vps virtualisasi KVM/Xen rubah venet0 menjadi eth0 , jika menggunakan
OpenVZ anda dapat jalankan perintah seperti dibawah

untuk UDP

iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE


Untuk TCP

iptables -t nat -I POSTROUTING -s 10.9.0.0/24 -o venet0 -j MASQUERADE

kemudian ketikkan

iptables-save

23. Pada ubuntu/debian iptables diatas akan direset ketika kita reboot, untuk
mempermanenkannya, kita pakai iptables-persistent , jalankan perintah berikut untuk
menginstalnya

sudo apt-get install iptables-persistent

akan muncul beberapa pertanyaan, cukup dijawab “y” saja.

24. Restart lagi OpenVPN service dengan perintah

service openvpn restart

Konfigurasi dan Setting untuk Client


Sekarang kita akan membuat file-file konfigurasi yang akan dipergunakan oleh client,

1. Masih didalam direktori /etc/openvpn buatlah sebuah direktori baru

mkdir clientconfig

2. Copykan file ca.crt dan ta.key yang telah kita buat sebelumnya ke dir clientconfig. Ini yang
akan dibutuhkan client sebagai syarat konek ke vpn server

cp /etc/openvpn/easy-rsa/keys/{ca.crt,ta.key} clientconfig/

cd clientconfig

3. Buat 2 file berektensi .ovpn untuk pengaturan pada client nantinya, yang pertama saya beri
nama misal, config-udp.ovpn ,

nano config-udp.ovpn

lalu akan kita isi dengan parameter sebagai berikut

client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
route-method exe
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
auth-user-pass
comp-lzo
verb 3

pada tulisan xxx ganti dengan alamat ip address VPS anda,

selanjutnya buat file ke 2, config-tcp.ovpn ,

nano config-tcp.ovpn

isikan parameter sebagai berikut

client
dev tun
proto tcp
remote xxx.xxx.xxx.xxx 443
resolv-retry infinite
route-method exe
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
auth-user-pass
comp-lzo
verb 3

sama, pada tulisan xxx ganti dengan alamat ip address VPS anda, simpan dan keluar dari
editor,

harusnya sekarang kita memiliki 4 buah file di direktori clientconfig, yaitu, ca.crt, ta.key,
config-udp.ovpn, dan config-tcp.ovpn.

4. Ke empat file diatas adalah file yang harus kita download dan kita tempatkan pada
direktori config, pada aplikasi client OpenVPN yang ada di PC, Smarthphone maupun Tablet.
Untuk mendownloadnya kita dapat menggunkan software filezilla/winscp, login ke server
vps dengan winscp, masuk ke direktori /etc/openvpn/clientconfig , ke empat file tersebuat
silahkan anda download ke lokal PC.
Testing Koneksi Client ke OpenVPN Server
Untuk pengguna windows,

Anda bisa memakai aplikasi VPN bawaan windows 8, atau jika anda bisa mendownload
aplikasi populer Client OpenVPN . Setelah menginstalnya, kita akan coba login dengan
config client yang telah kita buat pada tutorial diatas. Disini saya mencontohkan
menggunakan aplikasi Client OpenVPN.

1. Pertama kali masuk ke direktori C:\Program Files\OpenVPN\config , disini kita akan


buat 2 folder, pertama folder kita beri nama folder config udp dan folder config tcp , didalam
folder config udp masukkan file ca.crt, ta.key dan config-udp.ovpn , sedangkan pada folder
config tcp masukkan file ca.crt, ta.key dan config-tcp.ovpn , maka hasilnya terlihat seperti
gambar dibawah

2. Selanjutnya yang perlu diperhatikan setiap client user membutuhkan autentikasi yang
berupa username dan password agar bisa connect dan login ke server OpenVPN kita. Disini
user client openvpn hanyalah sebuah user atau akun Linux biasa. Kita dapat membuatnya
dengan perintah useradd ataupun adduser, kembali login ke VPS, lalu kita coba untuk
membuat user baru dengan perintah

useradd -s /bin/false andykamto

set passwordnya

passwd andykamto

3. Catat username & password, kemudian kita buka aplikasi OpenVPN client GUI. Jangan
lupa agar berhasil, jalankan OpenVPN GUI dengan “Run as administrator”, kemudian nanti
akan muncul di system tray, klik kanan, pilih salah satu config, kemudian klik connect.

4. OpenVPN GUI akan segera menyambungkan anda dengan server, setelah itu akan muncul
promt username & password, masukkan user dan password yang telah kita buat tadi

5. Klik Ok, dan tunggu jika berhasil status berubah menjadi connected
6. Selamat kita telah terhubung ke server OpenVPN, untuk mengetesnya coba browsing ke
What is my ip details atau ke What is my ip, pastikan browser anda tidak sedang
menggunakan proxy apapun. Jika anda melihat IP VPS anda tertampil di layar monitor, maka
sudah bisa dipastikan anda sudah sukses menginstal OpenVPN di VPS Ubuntu 14.04 dan
client bisa login dengan sukses terhubung di server OpenVPN kita.

Anda mungkin juga menyukai