install openvpn server menggunakan pritunl pada ubuntu 18.04

0
731

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

pritunl client
pritunl client

ok sekian itu saja tutorial pritunl kali ini lumayan panjang ya hahaha, jika ada yang ingin ditanyakan silahkan comment dibawah 🙂 semoga bermanfaat