Cara Membuat Server VPN IPsec Anda Sendiri di Linux


Banyak sekali manfaat menggunakan VPN (Virtual Private Network), beberapa di antaranya adalah menjaga Anda tetap aman di internet dengan mengenkripsi lalu lintas Anda dan membantu Anda mengakses konten/situs/aplikasi web yang diblokir dari mana saja. Selain itu, VPN juga membantu Anda menjelajah internet secara anonim.

Dalam artikel ini, Anda akan mempelajari cara menyiapkan server IPsec/L2TP VPN Anda sendiri dengan cepat dan otomatis di CentOS/RHEL, Ubuntu, dan Distribusi Linux Debian.

Prasyarat:

  1. CentOS/RHEL atau Ubuntu/Debian VPS (Virtual Private Server) baru dari penyedia mana pun seperti Linode.

Menyiapkan Server VPN IPsec/L2TP di Linux

Untuk menyiapkan server VPN, kami akan menggunakan kumpulan skrip shell luar biasa yang dibuat oleh Lin Song, yang menginstal Libreswan sebagai server IPsec, dan xl2tpd sebagai penyedia L2TP. Penawaran ini juga mencakup skrip untuk menambah atau menghapus pengguna VPN, meningkatkan instalasi VPN, dan banyak lagi.

Pertama, masuk ke VPS Anda melalui SSH, lalu jalankan perintah yang sesuai untuk distribusi Anda guna menyiapkan server VPN. Secara default, skrip akan menghasilkan kredensial VPN acak (kunci yang dibagikan sebelumnya, nama pengguna VPN, dan kata sandi) untuk Anda dan menampilkannya di akhir instalasi.

Namun, jika Anda ingin menggunakan kredensial Anda sendiri, pertama-tama Anda perlu membuat kata sandi dan PSK yang kuat seperti yang ditunjukkan.

openssl rand -base64 10
openssl rand -base64 16

Selanjutnya, tetapkan nilai-nilai yang dihasilkan seperti yang dijelaskan dalam perintah berikut, semua nilai HARUS ditempatkan di dalam 'tanda kutip tunggal' seperti yang ditunjukkan.

  • VPN_IPSEC_PSK – Kunci IPsec yang dibagikan sebelumnya.
  • VPN_USER – Nama pengguna VPN Anda.
  • VPN_PASSWORD – Kata sandi VPN Anda.
---------------- On CentOS/RHEL ---------------- 
wget https://git.io/vpnsetup-centos -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sh vpnsetup.sh

---------------- On Debian and Ubuntu ----------------
wget https://git.io/vpnsetup -O vpnsetup.sh && VPN_IPSEC_PSK='KvLjedUkNzo5gBH72SqkOA==' VPN_USER='tecmint' VPN_PASSWORD='8DbDiPpGbcr4wQ==' sudo sh vpnsetup.sh

Paket utama yang akan diinstal adalah bind-utils, net-tools, bison, flex, gcc, libcap-ng-devel, libcurl-devel, libselinux-devel, nspr-devel, nss-devel, pam-devel, xl2tpd, iptables-services, systemd-devel, fipscheck-devel, libevent-devel, dan fail2ban (untuk melindungi SSH), dan dependensinya masing-masing. Kemudian ia mengunduh, mengkompilasi dan menginstal Libreswan dari sumbernya, mengaktifkan dan memulai layanan yang diperlukan.

Setelah instalasi selesai, detail VPN akan ditampilkan seperti yang ditunjukkan pada gambar layar berikut.

Selanjutnya, Anda perlu menyiapkan klien VPN, untuk desktop atau laptop dengan antarmuka pengguna grafis, lihat panduan ini: Cara Mengatur Klien VPN L2TP/Ipsec di Linux.

Untuk menambahkan koneksi VPN di perangkat seluler seperti ponsel Android, buka Setelan –> Jaringan & Internet (atau Nirkabel & Jaringan –> Lainnya) –> Lanjutan –> VPN. Pilih opsi untuk menambahkan VPN baru. Jenis VPN harus disetel ke IPSec Xauth PSK, lalu gunakan gateway VPN dan kredensial di atas.

Cara Menambah atau Menghapus Pengguna VPN di Linux

Untuk membuat pengguna VPN baru atau memperbarui pengguna VPN yang ada dengan kata sandi baru, unduh dan gunakan skrip add_vpn_user.sh menggunakan perintah wget berikut.

wget -O add_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/add_vpn_user.sh
sudo sh add_vpn_user.sh 'username_to_add' 'user_password'

Untuk menghapus pengguna VPN, unduh dan gunakan skrip del_vpn_user.sh.

wget -O del_vpn_user.sh https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/extras/del_vpn_user.sh
sudo sh del_vpn_user.sh 'username_to_delete'

Cara Upgrade Instalasi Libreswan di Linux

Anda dapat meningkatkan versi instalasi Libreswan menggunakan skrip vpnupgrade.sh atau vpnupgrade_centos.sh. Pastikan untuk mengedit variabel SWAN_VER ke versi yang ingin Anda instal, di dalam skrip.

---------------- On CentOS/RHEL ---------------- 
wget https://git.io/vpnupgrade-centos -O vpnupgrade.sh && sh vpnupgrade.sh

---------------- On Debian and Ubuntu ----------------
wget https://git.io/vpnupgrade -O vpnupgrade.sh && sudo sh  vpnupgrade.sh

Cara Menghapus Instalasi Server VPN di Linux

Untuk menghapus instalasi VPN, lakukan hal berikut.

Di RHEL/CentOS

yum remove xl2tpd

Kemudian buka file konfigurasi /etc/sysconfig/iptables dan hapus aturan yang tidak diperlukan dan edit /etc/sysctl.conf dan /etc/rc.local file, dan hapus baris setelah komentar # Ditambahkan oleh skrip VPN hwdsl2, di kedua file.

Di Debian/Ubuntu

sudo apt-get purge xl2tpd

Selanjutnya, edit file /etc/iptables.rules konfigurasi dan hapus aturan yang tidak diperlukan. Selain itu, edit /etc/iptables/rules.v4 jika ada.

Lalu edit file /etc/sysctl.conf dan /etc/rc.local, hilangkan baris setelah komentar # Added by hwdsl2 VPN script , di kedua file. Jangan hapus keluar 0 jika ada.

Secara opsional, Anda dapat menghapus file dan direktori tertentu yang dibuat selama pengaturan VPN.

rm -f /etc/ipsec.conf* /etc/ipsec.secrets* /etc/ppp/chap-secrets* /etc/ppp/options.xl2tpd* /etc/pam.d/pluto /etc/sysconfig/pluto /etc/default/pluto 
rm -rf /etc/ipsec.d /etc/xl2tpd

Untuk menyiapkan VPN berbasis IPSec situs-ke-situs dengan Strongswan, lihat panduan kami:

  1. Cara Setup VPN berbasis IPSec dengan Strongswan di Debian dan Ubuntu
  2. Cara Setup VPN berbasis IPSec dengan Strongswan di CentOS/RHEL 8

Pada titik ini, server VPN Anda sudah aktif dan berjalan. Anda dapat menyampaikan pertanyaan apa pun atau memberi kami umpan balik menggunakan formulir komentar di bawah.