Monday, June 10, 2019

Cara Install OpenVPN di VPS CentOS 7

Di artikel kali ini saya akan menjelaskan bagaimana cara install OpenVPN di VPS CentOS 7.

Cara Install OpenVPN di VPS CentOS 7


OpenVPN adalah salah satu protokol VPN yang banyak dipakai. Dibanding dengan protokol VPN yang lain, seperti PPTP, OpenVPN lebih aman.

Cara Install OpenVPN di VPS CentOS 7


Berikut adalah cara install OpenVPN di VPS CentOS 7.

1. Login ke VPS dengan user root via aplikasi terminal seperti Putty (Windows) atau JuiceSSH (Android).

2. Install wget dan nano dengan perintah berikut

yum -y install wget nano


3. Download script installer OpenVPN dengan perintah berikut

wget https://git.io/vpn -O openvpn-install.sh


4. Eksekusi script dengan perintah berikut

bash openvpn-install.sh


5. Akan muncul prompt yang menampilkan IP VPS Anda. Jika IP sudah benar langsung tekan enter saja

Cara Install OpenVPN di VPS CentOS 7


6. Pilih protocol yang ingin Anda gunakan untuk OpenVPN, di sini saya memilih TCP

Cara Install OpenVPN di VPS CentOS 7


7. Ketikkan port OpenVPN yang ingin Anda pakai, misalnya 1194

Cara Install OpenVPN di VPS CentOS 7


8. Pilih DNS yang ingin Anda gunakan di OpenVPN, di sini saya memilih Google

Cara Install OpenVPN di VPS CentOS 7


9. Pada bagian Client name langsung tekan enter saja

Cara Install OpenVPN di VPS CentOS 7


10. Pada bagian Press any key to continue... langsung tekan enter saja maka proses install OpenVPN akan berjalan.

Cara Install OpenVPN di VPS CentOS 7


Proses instalasi OpenVPN berlangsung sangat cepat, tidak sampai 30 detik.

Berikut adalah tampilan dari terminal setelah instalasi OpenVPN selesai.

Cara Install OpenVPN di VPS CentOS 7


Seperti yang Anda lihat di situ ditampilkan informasi bahwa config OpenVPN bisa Anda temukan di /root/client.ovpn

Untuk mendownload config client.ovpn tersebut Anda bisa menggunakan program Windows seperti WinSCP.

Config yang sudah Anda download bisa langsung Anda gunakan di aplikasi OpenVPN favorit Anda, baik di Windows, Android maupun di iOS.

Config OpenVPN tersebut bisa kita gunakan tanpa username dan password.

Bila Anda ingin agar config tersebut menggunakan username dan password dalam proses otentifikasinya maka silahkan Anda ikuti langkah berikutnya yang akan saya jelaskan.

Membuat File Konfigurasi Server OpenVPN


Di langkah sebelumnya sebenarnya kita sudah membuat file konfigurasi server OpenVPN. Tetapi kali ini kita akan membuat file konfigurasi yang baru agar kita bisa menggunakan username dan password dalam proses otentifikasi OpenVPN.

1. Hapus file konfigurasi server OpenVPN dengan perintah berikut

rm -f /etc/openvpn/server.conf


2. Buat file konfigurasi server OpenVPN yang baru dengan perintah berikut

nano /etc/openvpn/server.conf


Silahkan Anda salin kode-kode berikut

port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
verify-client-cert none
username-as-common-name
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "route-method exe"
push "route-delay 2"
socket-flags TCP_NODELAY
push "socket-flags TCP_NODELAY"
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3
ncp-disable
cipher none
auth none

Keterangan :

  • Ganti port 1194 dengan port yang telah Anda masukkan dilangkah sebelumnya
  • Pada baris proto tcp silahkan Anda sesuaikan. Jika dilangkah sebelumnya Anda memilih UDP maka ganti proto tcp menjadi proto udp


Jika sudah disesuaikan, pastikan sudah benar, simpan file dengan cara tekan Ctrl x lalu y lalu enter

3. Restart server OpenVPN dengan perintah berikut

systemctl restart openvpn@server


Install Nginx


Untuk memudahkan kita dalam mendownload config OpenVPN maka kita akan memanfaatkan Nginx. Nginx adalah sebuah aplikasi web server yang ringan namun kinerjanya sangat handal.

1. Install epel-release dengan perintah berikut

yum -y install epel-release


2. Install Nginx dengan perintah berikut

yum -y install nginx


3. Start Nginx dengan perintah berikut

systemctl start nginx


4. Jalankan perintah berikut agar Nginx otomatis berjalan saat VPS boot

systemctl enable nginx


Mengubah Listening Port Nginx Menjadi 81


Secara default, listening port Nginx adalah 80. Tetapi kali ini kita akan merubahnya menjadi 81, agar tidak bentrok dengan aplikasi lain. Misalnya jika Anda menggunakan squid di port 80, maka tentu saja akan bentrok dengan port Nginx. Oleh karena itu agar lebih nyaman, menghindari kemungkinan bentrok, maka kita ganti listening port Nginx menjadi 81.

Beikut adalah cara mengubah listening port Nginx dari 80 menjadi 81.

1. Edit file konfigurasi Nginx dengan perintah berikut

nano /etc/nginx/nginx.conf


Silahkan Anda cari baris yang ada angka 80. Biasanya pada dua baris seperti di gambar berikut.

Silahkan Anda ganti 80 menjadi 81

Jika sudah diganti, simpan file dengan cara tekan Ctrl x lalu y lalu enter

2. Restart Nginx dengan perintah berikut

systemctl restart nginx


Membuat Config OpenVPN


Langkah selanjutnya adalah membuat config OpenVPN. Config inilah yang akan kita gunakan untuk melakukan koneksi OpenVPN.

Berikut adalah cara membuat config OpenVPN.

1. Hapus file config OpenVPN yang ada di /root dengan perintah berikut

rm -f /root/client.ovpn


2. Jalankan perintah berikut untuk membuat file config OpenVPN di direktori html Nginx

nano /usr/share/nginx/html/client.ovpn


Silahkan Anda salin kode-kode berikut

auth-user-pass
client
dev tun
proto tcp
remote 159.65.132.42 1194
persist-key
persist-tun
pull
resolv-retry infinite
nobind
user nobody
comp-lzo
remote-cert-tls server
verb 3
mute 2
connect-retry 5 5
connect-retry-max 8080
mute-replay-warnings
redirect-gateway def1
script-security 2
cipher none
auth none

Keterangan :


  • Ganti proto tcp menjadi proto udp jika sebelumnya Anda memilih UDP
  • Ganti 159.65.132.42 dengan IP VPS Anda
  • Ganti 1194 dengan port yang Anda masukkan sebelumnya


Simpan file dengan cara tekan Ctrl x lalu y lalu enter

3. Jalankan baris-baris perintah berikut secara berurutan untuk melengkapi file config dengan sertifikat

echo "<ca>" >> /usr/share/nginx/html/client.ovpn


cat /etc/openvpn/easy-rsa/pki/ca.crt >> /usr/share/nginx/html/client.ovpn


echo "</ca>" >> /usr/share/nginx/html/client.ovpn


Setelah Anda mengikuti langkah-langkah di atas maka Anda bisa mendownload config OpenVPN di alamat http://159.65.132.42:81/client.ovpn (ganti 159.65.132.42 dengan IP VPS Anda)

Membuat Akun OpenVPN


Di langkah sebelumnya kita sudah mengatur di konfigurasi server OpenVPN agar user hanya bisa login menggunakan username dan password. Oleh karena itu kita harus membuat akun (username dan password).

Untuk membuat akun (username dan password) Anda bisa menggunakan perintah berikut

useradd -e `date -d "30 days" +"%Y-%m-%d"` -s /bin/false -M agus


Keterangan :

  • Ganti agus dengan username yang Anda inginkan, misalnya budi
  • Ganti 30 dengan masa aktif akun yang Anda inginkan. Misalnya 1, 7, 15 atau angka lain


Perintah di atas baru membuat username dan masa aktif akun. Untuk membuat password akun gunakan perintah berikut

passwd agus


Pada prompt New password dan Retype new password ketikkan password untuk user agus (bebas)

Cara Install OpenVPN di VPS CentOS 7


Demikianlah telah saya uraikan bagaimana cara install OpenVPN di VPS CentOS 7. Semoga bermanfaat.

Comments


EmoticonEmoticon