Tutorial Install dan Konfigurasi OpenVPN di VPS Ubuntu / Debian

Tutorial Install dan Konfigurasi OpenVPN di VPS Ubuntu / Debian

openvpn1.png

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

op1.jpg

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

op2.jpg

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,

op3.jpg

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,

op4.jpg

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.

op5.jpg

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

op8.jpg

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

op9.jpg

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.

op10.jpg

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.

op11.jpg

 

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 di halaman ini. 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

op12.jpg

op13.jpg

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.

op14.jpg

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

op15.jpg

5. Klik Ok, dan tunggu jika berhasil status berubah menjadi connected

op16.jpg

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.

op17.jpg

Tutorial ini lumayan panjang, pastikan anda dengan cermat mengikuti step-stepnya, sudah saya praktekkan ini berjalan dengan sukses. Semoga bermanfaat 🙂

2

60 Responses

  1. Badwi
    10/08/2015
  2. Badwi
    10/08/2015
    • andykamto
      10/08/2015
  3. Initiut
    28/11/2015
    • andykamto
      29/11/2015
  4. cahayamalam1986
    23/02/2016
    • andykamto
      23/02/2016
  5. cahayamalam1986
    24/02/2016
    • andykamto
      24/02/2016
  6. NA Z AR
    29/02/2016
    • andykamto
      06/03/2016
  7. ahakaz
    14/04/2016
    • andykamto
      14/04/2016
      • emmett
        14/04/2016
  8. Kapten Bronze
    22/04/2016
    • andykamto
      22/04/2016
  9. rifky
    25/04/2016
    • andykamto
      25/04/2016
  10. seno
    18/05/2016
    • andykamto
      18/05/2016
  11. konservasi123
    21/05/2016
    • andykamto
      21/05/2016
  12. konservasi123
    22/05/2016
  13. plonknimbuzz
    31/07/2016
    • plonknimbuzz
      31/07/2016
    • plonknimbuzz
      01/08/2016
      • andykamto
        16/08/2016
    • plonknimbuzz
      01/08/2016
      • andykamto
        16/08/2016
  14. iqbal
    04/08/2016
    • andykamto
      16/08/2016
    • andykamto
      14/09/2016
    • andykamto
      15/09/2016
        • andykamto
          15/09/2016
    • andykamto
      15/09/2016
  15. cloudssh
    23/11/2016
  16. Farizal
    28/12/2016
  17. Fajar
    11/02/2017
    • andykamto
      12/02/2017
    • andykamto
      24/03/2017
  18. agan
    28/03/2017
    • andykamto
      28/03/2017
  19. indra wahyudin
    15/04/2017
    • andykamto
      26/04/2017
  20. Arjuna
    04/05/2017
  21. ega teja pratama
    29/05/2017
    • Andy
      09/06/2017
  22. Yudi Prasetya
    26/06/2017
  23. Fuad
    04/08/2017
  24. Fachmi Dea Saputra
    01/09/2017
  25. damas
    26/10/2017
  26. wafiyul umam
    15/12/2017
  27. agung
    20/12/2018

Kirim Komentar