Install Pritunl VPN Server di LXC Proxmox

2 min read

perkembangan teknologi container akhir-akhir ini memang sangat pesat, terlebih banyak sekali developer yang mengembangkan container seperti ini, contohnya proxmox

dalam tutorial kali ini kita akan mencoba membuat VPN Server menggunakan Pritunl, bagi yang belum tahu apa itu pritunl adalah aplikasi server OpenVPN dan IPsec dengan penambahan fitur sekelas enterprise yang dikembangkan dan didistribusikan secara opensource dengan fitur dasar yang bisa dipakai secara gratis, tentunya cukuplah bia digunakan untuk kebutuhan personal, untuk fitur yang lebih advance dibandrol dengan harga 10$-$50 perbulan, namun dengan fitur dasarpun saya rasa sudah cukup

Requierement:

pritunl mendukung berbagai macam distribusi linux, anda bisa menginstallnya di

  1. Arch Linux
  2. Amazon Linux
  3. Centos
  4. Debian
  5. Ubuntu
  6. Oracle

sedangkan untuk Pritunl Client mendukung berbagai macam system operasi dekstop maupun mobile seperti

  1. Window
  2. Linux
  3. Android
  4. IOS
  5. OSX

pada tutorial kali ini saya menggunakan spesifikasi server yang tidak perlu high specs. Pritunl saya install di Server LXC Proxmox dengan spesifikasi Processor Core 1, Memory 500MB dan HDD Container 15G

sebelum kita memulia install, agar kalian paham ke arah mana server melayani dan dikalayani saya akan menggambarkan topologi sederhana sebagai berikut

ip publik: 157.240.66.250

IP Pritunl: 192.168.10.233

OS : Ubuntu 18.04

Create LXC Container pada server Proxmox

pada tab general isi Hostname, password, dan SSH Public Key

Setting Template config sesuai dengan konfigurasi server proxmox kamu . Storage dan Templates, jika kalian belum ada templates container bisa download di menu

Local > Contents Templates > Pilih Template OS

Pada menu templates pilih OS ubuntu-18.04 standard

pada menu Root Disk saya mengalokasikan Disk Space 15 GB


untuk CPU Settings cukup 1 Core saja


untuk alokasi memory 512MB

untuk network source di eth0 dengan mode bridge vmbr0 dengan mode dhcp

untuk dns saya menggunakan dns cloudflare dan google

confirm dan lanjut install

berhubung jaringan yang saya gunakan melalui mikrotik maka kita perlu ip binding server kita, masuk ke mikrotik bisa melalu web atau winbox

klik menu IP > Hostpot > IP Bindings

lalu tambahkan Mac Address, To Address (sesuai ip yang kita dapat) dan Type “bypassed”

apt update
apt upgrade

tambahkan pritunl repository

echo "deb http://repo.pritunl.com/stable/apt bionic main" | sudo tee /etc/apt/sources.list.d/pritunl.list

tambahkan Mangodb Repository

nano /etc/apt/sources.list.d/mongodb-org-4.0.list

dengan editor nano tambahkan baris paling bawah dengan code berikut

deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse

tambahkan public key untuk pritunl dan mangodb

apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
apt update

Install Pritunl dan Mangodb

apt --assume-yes install pritunl mongodb-server
systemctl start pritunl mongodb
systemctl enable pritunl mongodb

Konfigurasi Pritunl

dalam mengakses pritunl melalu web panel, mungkin anda akan mengalami sertifik error, dikarena admin page pritunl sendiri dilindungi dengan ssl sertifikat, namun tinggal add exceptions saja untuk mengaksesnya, maka dari itu kita perlu mengatur firewall sebgai berikut, buka terminal kembali

ufw allow http
ufw allow https
ufw reload

pada awal pertama kali kalian akses admin panel maka akan nampak konfigurasi ini

pritunl setup-key

lalu pastekan generate key kedalamnya, setelah itu langkah selanjutnya adalah generate password credential untuk akses login ke dalam panel admin

pritunl default-password

ganti password dari generate key sesuai dengan password kalian dan jangan lupa isikan Public Address sesuai dengan public ip ISP anda

klik tab Users > Add Organization

klik mene Servers > Add Server dan isi konfigurasi sesuai berikut

setelah server ditambahkan klik attach organizations, kemudian klik attach

Jalankan Server

pada kasus ini saya menggunakan LXC server Proxmox untuk menjalankan server pada mulanya akan muncul error sebagai berikut:

untuk mengatasi error tersebut cukup dengan buka terminal server utama proxmox

kemuadian buka config lxc , sesuaikan dengan lxc id kalian, dalam kasus ini lxc number id saya di 109

pct stop 109
vim /etc/pve/lxc/109.conf 

lalu tambahkan code berikut di line paling bawah

lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
lxc.cgroup.devices.allow: c 10:200 rwm

buka terminal dan jalan perintah berikut

ufw allow 14878
ufw reload

jalankan kembali server pritunl, dan buat user pada menu Users

dari sini server pritunl sudah terbuat, jika kalian install di cloud/vps tidak perlu lanjutkan membaca sampai tutorial selanjut cukup download config dah import ke pc client

tapi seperti yang sudah dijelaskan dalam topologi diatas, router saya menggunakan mikrotik maka perlu settingan khusus agar client dapet menerima request dari server di lxc

login ke mikrotik

klik IP>Firewall>Nat

masuk ke terminal ketikan perintah berikut:

netstat -tulnp

dari keterangan gambar diatas terlihat bahwa port pritunl 14878 tcp6, berhubung jaringan hanya mendukung ipv4 maka kita perlu sedikit configurasi,

kembali ke terminal lalu ketikan perintah berikut:

mongo
use pritunl
db.settings.find({_id:"vpn"})
db.settings.update({_id:"vpn"}, { $set: { ipv6: false, ipv6_route_all: false } })
exit
netstat tulnp

got it, akhirnya tcp6 berubah menjadi tcp ipv4, untuk lebih jelasnya kalian bisa check menggunakan web https://www.yougetsignal.com/tools/open-ports/

Setup GNS3 VM di Proxmox

Gns3 sangat membantu sekali untuk belajar jaringan tanpa harus mempunyai server fisiknya, meskipun begitu ada beberapa kendala bagi saya seperti kita harus menyediakan resourse...
admin
1 min read

Cara Resize LXC di Proxmox

hari ini saya mendapati salahsatu LCX saya tidak bisa menjalankan service, setelah saya check ternyata disknya penuh, baiklah saatnya saya resize DIsk yang awalanya...
admin
12 sec read

Cara Mengatasi PhpVirtualbox yang tidak bisa login

jalankan perintah berikut pada mode background jika tidak bisa login ke phpvirtualbox
admin
4 sec read

Leave a Reply

Your email address will not be published. Required fields are marked *