halo sobat sekolahlinux, apa kabarnya? semoga sehat dan dan dimudahkan seluruh sobat, kali ini saya akan sedikit memberikan tutorial tentang install openvpn server menggunakan pritunl pada ubuntu 18.04, pritunl ini sendiri menurut saya adalah sebuah solusi bagi yang ingin install openvpn server namun ingin ada feature user management, log, web-gui dan vpn client apps yang tersedia baik untuk windows, mac-os, linux, android, oke langsung saja kita masuk ke tutorialnya, pertama saya akan beranggapan bahwa sobat sudah menginstall ubuntu 18.04, jika sudah lakukan beberapa point dibawah untuk mengoptimalkan os ubuntu kalian sebagai openvpn server
- remove apparmor
sudo apt remove apparmor -y
- increase open file limit pada linux kalian
sudo sh -c 'echo "* hard nofile 64000" >> /etc/security/limits.conf' sudo sh -c 'echo "* soft nofile 64000" >> /etc/security/limits.conf' sudo sh -c 'echo "root hard nofile 64000" >> /etc/security/limits.conf' sudo sh -c 'echo "root soft nofile 64000" >> /etc/security/limits.conf'
- pastikan kalian membuka protokol UDP untuk port 500, 4500 ke public / internet di sisi firewall os ataupun firewall dari cloud provider kalian
jika sudah jalankan perintah dibawah ini pada ubuntu server kalian
sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list << EOF deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse EOF sudo tee /etc/apt/sources.list.d/pritunl.list << EOF deb http://repo.pritunl.com/stable/apt bionic main EOF sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A sudo apt-get update sudo apt-get --assume-yes install pritunl mongodb-server sudo systemctl start pritunl mongodb sudo systemctl enable pritunl mongodb
jika sudah buka pritunl web-ui pada browser
- https://ip_address_pritunl_server
maka akan tampil seperti dibawah ini
selanjutnya jalankan perintah sudo pritunl setup-key pada terminal ubuntu server anda untuk mendapatkan setup-key
sekolahlinux@akbar-test:~$ sudo pritunl setup-key 97c28c3202f24da99bd6080470796bfe
jika sudah masukan setup-key nya dan klik save
jika sudah maka akan di proses dan kemudian akan di redirect ke page selanjutnya seperti dibawah ini
jika sudah buka terminal di ubuntu server dan jalankan perintah sudo pritunl default-password untuk mendapatkan user dan password pertama kali untuk login
sekolahlinux@akbar-test:~$ sudo pritunl default-password [undefined][2019-09-23 04:18:26,635][INFO] Getting default administrator password Administrator default password: username: "pritunl" password: "BCWNSsO9cA2g"
jika sudah masukkan user dan password hasil dari generate diatas, dan klik button sign-in
jika sudah maka kita akan di forward ke page dashboard pritunl lalu akan langsung diminta untuk memasukan password baru yang sesuai dengan keinginan kita, seperti dibawah ini
selanjutnya kita akan set domain untuk endpoint pritunl yang kita install, pertama kita ganti dulu default port pritunl 443 menjadi 8080 dengan command dibawah ini
pritunl set app.server_port 8080
lalu disable pritunl redirect server
pritunl set app.redirect_server false
selanjutnya kalian harus install nginx, dan juga lets encrypt, jalankan perintah dibawah pada terminal ubuntu server kalian
sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository universe sudo add-apt-repository ppa:certbot/certbot sudo apt-get update
install certbot dan nginx
sudo apt-get install certbot python-certbot-nginx nginx
jika sudah jangan lupa arahkan A record domain/subdomain kalian ke ip public server ubuntu pritunl kalian, jika sudah jalanan perintah dibawah
sudo certbot-auto certonly --standalone -d pritunl.sekolahlinux.com
maka outputnya akan seperti dibawah ini
sekolahlinux@akbar-test:~$ sudo certbot-auto certonly --standalone -d pritunl.sekolahlinux.com Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): akbar@sekolahlinux.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for pritunl.sekolahlinux.com Waiting for verification... Cleaning up challenges IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/pritunl.sekolahlinux.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/pritunl.sekolahlinux.com/privkey.pem Your cert will expire on 2019-12-22. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
jika sudah buat konfigurasi pritunl.conf untuk nginx
vim /etc/nginx/conf.d/pritunl.conf
lalu isi dengan paramater dibawah
server { listen 80; server_name pritunl.sekolahlinux.com; return 301 https://$host$request_uri; } server { listen 443; server_name pritunl.sekolahlinux.com; ssl_certificate /etc/letsencrypt/live/pritunl.sekolahlinux.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/pritunl.sekolahlinux.com/privkey.pem; ssl on; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/vpn.access.log; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass https://127.0.0.1:8080; proxy_read_timeout 90; } }
jika sudah restart nginx
systemctl enable nginx && systemctl start nginx
selanjutnya buka url https://pritunl.sekolahlinux.com
jika sudah login dan isi lets encrypt domain dengan domain pritunl.sekolahlinux.com lalu klik save
jika sudah pada top menu klik Users, lalu klik Add Organization seperti gambar dibawah ini
jika sudah masukkan nama dari organization kalian seperti pada gambar dibawah ini, jika sudah klik button Add
jika sudah maka tampilannya akan seperti dibawah ini, lalu pada top menu klik top menu Servers
jika sudah klik top menu Servers maka kalian akan di bawa pada page seperti gambar dibawah ini, jika sudah klik button Add Server
jika sudah klik button Add Server maka akan muncul pop box seperti gambar dibawah, jangan lupa klik mode Advanced lalu isi form-form nya seperti gambar dibawah, jika sudah jangan lupa klik button Add
jika sudah maka tampilan akan seperti gambar dibawah ini, selanjutnya klik button Attach Organization berwarna biru
jika sudah klik button Attach Organization berwarna biru maka akan tampil pop box seperti gambar dibawah, selanjutnya pilih sesuai organization dan server yang telah kita buat, lalu klik button Attach
selanjutnya jika sudah maka tampilannya akan seperti gambar dibawah ini
selanjutnya kita akan menambahkan route network (private) yang digunakan oleh server pritunl, untuk form Network diisi dengan network yang digunakan oleh vm server pritunl, lalu untuk form Nat Network Mapping isi dengan network virtual network yang sudah di generate oleh pritunl lalu selanjutnya klik button attach
jika sudah maka tampilannya akan seperti gambar dibawah, selanjutnya jika sudah klik button Start Server yang berwarna hijau
jika sudah klik button Start Server yang berwarna hijau maka tampilan akan seperti gambar dibawah ini, dan pada kolom Server Output akan tampil log realtime dari pritunl
selanjutnya kembali ke top menu Users, lalu klik Add Users, maka akan tampil pop box seperti gambar dibawah, isi sesuai gambar dibawah, untuk kolom Pin kalian harus memasukkan angka tidak boleh huruf atau simbol ya, jika sudah klik button Add
jika sudah maka tampilannya akan seperti dibawah ini
selanjutnya klik icon yg saya lingkari warna merah pada gambar dibawah ini
jika sudah maka akan tampil popbox seperti dibawah ini, lalu pilih link yang ada di kotak ke 2, yang memiliki judul Temporary url to view profile links, expires after 24 hours
jika sudah copas link tersebut ke url browser, maka akan tampil gambar seperti dibawah ini, jika sudah klik Show More yang saya lingkari warna merah seperti pada gambar dibawah
selanjutnya kamu bisa mendownload vpn client pada button berwarna hijau bertuliskan Download Client, lalu kamu juga harus mendownload file .ovpn di button berwarna biru bertuliskan Download Profile (pritunl-sekolahlinux)
jika sudah, silahkan install pritunl vpn client, kurang lebih nanti tampilannya akan seperti dibawah ini, lalu klik button warna hijau bertuliskan Import Profile, lalu pilih file .ovpn yang tadi kita download
jika sudah di import maka tampilannya akan seperti ini, jika sudah klik tombol 3 garis putih di pojok kanan atas pada gambar dibawah
jika sudah makan tampilannya akan seperti dibawah, jika sudah klik button hijau bertuliskan Connect seperti pada gambar dibawah
jika sudah maka kamu akan diminta memasukan pin seperti gambar dibawah, masukkan pin lalu klik OK
jika sudah maka tampilan selanjutnya akan seperti gambar dibawah, dan jika berhasil connect maka akan muncul ip CLIENT ADDRESS seperti gambar dibawah
ok sekian itu saja tutorial pritunl kali ini lumayan panjang ya hahaha, jika ada yang ingin ditanyakan silahkan comment dibawah 🙂 semoga bermanfaat
- https://client.pritunl.com/#install
- https://docs.pritunl.com/docs/installation