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
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.
apt-get update
cp -r /usr/share/easy-rsa/ /etc/openvpn
mkdir /etc/openvpn/easy-rsa/keys
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
7. Selanjutnya kita akan mengenerate Diffie hellman parameters, dengan perintah berikut
cd /etc/openvpn/easy-rsa
. ./vars
./clean-all
9. Saatnya buat Certificate Authority (CA) dengan jalankan perintah dibawah ini
./build-ca
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
12. Selanjutnya kita buat server config sebanyak 2 file, masing-masing untuk udp config dan
tcp config,
cd /etc/openvpn
nano server.conf
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
nano server-tcp.conf
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
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.
Pastikan kedua service berjalaan yaitu config udp dan config tcp nya.
18. Atau bisa juga anda dapat mengecek statusnya dengan perintah
19. Langkah berikutnya aktifkan ip4 forwarding, gunanya untuk memforward trafik dari klien
agar tersambung ke internet melalui vpn server kita, pertama ketikkan 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
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
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
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
nano config-tcp.ovpn
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.
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
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.