Cara Install dan Konfigurasi OpenVPN di Debian dan Ubuntu

Thursday, April 6, 2017

Hallo.. lama tak jumpa. Kalian tentu sudah mengenal vpn, dan tau kegunaan vpn itu sendiri untuk apa. Kali ini saya akan membahas cara mengkonfigurasi OpenVPN di Debian dan Ubuntu. 
OpenVPN adalah solusi open source yang aman dengan fitur lengkap  (SSL) yang mengakomodasi berbagai konfigurasi. Dalam tutorial ini, kita akan menyiapkan server OpenVPN pada VPS dan kemudian mengkonfigurasi akses  dari Client.
Pada tutorial ini saya menggunakan server Ubuntu 14.04. Untuk OS lain silahkan mengikuti saja.
Install OpenVPN di Debian dan Ubuntu
OpenVPN sudah tersedia di default repositories dan bisa langsung di install menggunakan apt, kita juga membutuhkan easy-rsa untuk membuat CA(Certificate Authority) yang akan digunakan untuk vpn kita.
sudo apt-get update
sudo apt-get install openvpn easy-rsa
Set Up CA Directory
OpenVPN adalah TLS / SSL VPN. Ini berarti bahwa ia memanfaatkan sertifikat untuk mengenkripsi lalu lintas antara server dan klien. 
sudo cp -a /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn
Pindah ke directory openvpn, untuk memulai konfigurasi CA:
cd /etc/openvpn/easy-rsa/2.0 && sudo chmod 755 *
Konfigurasi CA Variables
file vars ini berfungsi untuk menentukan default value pada saat kita membuat CA, tanpa di editpun sebetulnya tidak ada masalah, tetapi sebaiknya kita edit saja sesuai dengan server detail yang akan kita buat.
nano vars
Sesuaikan sendiri .
export KEY_COUNTRY="US"
export KEY_PROVINCE="New York"
export KEY_CITY="New York"
export KEY_ORG="LinuxSec.Org"
export KEY_EMAIL="root@linuxsec.id"
export KEY_OU="LinuxSec.org"
Edit juga bagian key name. Di contoh ini key name saya adalah "server"
export KEY_NAME="server"
Build Certificate Authority
Sekarang kita akan menggunakan variables yang barusan telah kita edit untuk membuat CA
source vars
./clean-all
./build-ca
Selanjutnya akan ada beberapa pertanyaan konfirmasi. Enter enter saja sampai selesai.

Create Server Certificate, Key, dan Encryption Files
Karena key name nya tadi "server"maka perintahnya seperti ini 
./build-key-server server
Lanjut dengan menekan Enter dan ketika muncul pertanyaan Sign the certificate dan Certificate request certified,commit, tekan y dan Enter.
Berikutnya kita akan generate Diffie-Hellman keys
./build-dh
Generate HMAC signature untuk lebih mengamankan kemampuan integritas verifikasi TLS
openvpn --genkey --secret keys/ta.key
Konfigurasi OpenVPN di Server Debian dan Ubuntu :
Membuat konfigurasi server dengan :
nano /etc/openvpn/server.conf
Pastikan anda sudah install nano editor di VPS Debian atau Ubuntu anda. Jika anda tidak suka editor nano, silahkan sesuikan saja :)
Masukkan baris berikut ini kedalam file tersebut :

local 192.249.60.215 #ganti dengan IP VPS atau domain anda
port 1337 #Sesuaikan dengan port yang anda inginkan
proto tcp #bisa diganti dengan udp, sesuaikan saja
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
plugin /usr/lib/openvpn/openvpn-auth-pam.so /etc/pam.d/login
client-cert-not-required
username-as-common-name
server 10.9.8.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
Selalu simpan konfigurasi server dengan CTRL+X, Y.

Coba jalankan OpenVPNnya dengan command :
service openvpn start
Jika error failed, silahkan periksa kembali baris konfigurasi server diatas.

Enable IP forwarding :
nano /etc/sysctl.conf
Hilangkan tanda pagar sebelum net.ipv4.ip_forward = 1 
Selanjutnya berikan command ini :
sysctl -p /etc/sysctl.conf
Setting IP tables :
iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE
Ganti venet0 dengan eth0 jika anda menggunakan VPS KVM. Lalu tambahkan perintah ini untuk menyimpan setting IP tables tersebut :
iptables-save
Restart OpenVPN :
/etc/init.d/openvpn restart
Generate  Client Certificate dan Key Pair
Berikutnya kita akan generate Client Certificate yang akan diberi nama client1, Certificate pair ini yang nantinya digunakan client untuk authentifikasi koneksi ke server VPN

Untuk membuat Certificate tanpa password, login otomatis gunakan command berikut:
cd ~/openvpn-ca
source var
./build-key client1

Untuk membuat password protected key gunakan command berikut ya:
source vars
./build-key-pass client1
Proses konfigurasi OpenVPN di VPS sudah selesai. Selanjutnya tinggal buat saja konfig untuk client
nano /etc/openvpn/easy-rsa/2.0/keys/client1.ovpn
 Masukkan baris-baris berikut ini ke dalam file tersebut :
client
dev tun
proto tcp #bisa ganti udp, samakan dengan server.conf
remote 192.249.60.215 1337 #samakan dengan server.conf
route-method exe
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
auth-user-pass
comp-lzo
verb 3
Untuk membuat user, silahkan berikan perintah :
useradd -s /bin/false username
Ganti username dengan nama user yang ingin anda buat. Untuk membuat password, silahkan berikan command :
passwd username
Download Config Client
Masuk ke direktori keys :
cd /etc/openvpn/easy-rsa/2.0/keys
Jalankan :
zip OVPN.zip *
Tinggal download melalui FileZilla atau pindak ke direktori webserver dan download zip nya.

Untuk konek melalui Client, bisa ikuti tutorial yang saya pernah share sebelumnya. Tinggal sesuaikan.

Referensi :
http://www.kangerik.com/cara-install-dan-konfigurasi-openvpn-di-debian-dan-ubuntu/

Update :
Sekarang kamu bisa menginstall OpenVPN menggunakan script bash sehingga tidak perlu capek mengetik perintah diatas satu persatu,
sudo su
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

Langkah langkah selanjutnya tinggal masukkan angka angka sesuai opsi yang diinginkan.
Oke sekian tutorial kali ini, semoga bermanfaat. 

Artikel Terkait Debian ,Tutorial ,Ubuntu ,VPN

No comments:

Post a Comment