LINUXSEC

Cara Install dan Konfigurasi OpenVPN di Debian dan Ubuntu

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.

Cara Setup VPN dari Boxpn di Ubuntu Linux

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.

Komentar

    Tinggalkan Komentar

    Silahkan tinggalkan komentar jika ada masukan, pertanyaan, kritik ataupun dukungan. Namun pastikan untuk berkomentar secara sopan.