Membuat VPN Untuk Mengakses Jaringan Kantor Dari Rumah

Membuat VPN Untuk Mengakses Jaringan Kantor Dari Rumah

Selayang Pandang

Sebetulnya gak terlalu ngerti sih gimana cara kerjanya VPN, taunya cuma singkatan dari VPN adalah Virtual Private Network. Dan taunya VPN itu digunakan untuk bypass web-web yang di blokir oleh provider tertentu. Selain itu VPN juga untuk melindungi data kita. Mmmm sebetulnya masih bingung juga sih gimana dengan VPN ini kita bisa terlindungi. Saya tahunya VPN itu adalah untuk mengakses jaringan kantor dari rumah. Tapi terus terang ya saya masih bingung juga gimana caranya, hehehe. Dan baru sekarang bisa praktek untuk membuat VPN server.

Pernah dibuatin PPTP sama provider di Mikrotik tapi kok labil, kadang connect kadang kagak dan kesini-sini jadinya malah kagak bisa connect, hehehe. Coba-coba buat OpenVPN tapi gak bisa-bisa, selalu masalah di certificate, dan nemu deh tutorialnya Muhammad Arul mengenai membuat VPN menggunakan Strongswan dan Let’s Encrypt di CentOS 7. OK, kita lanjut aja mengenai bagaimana cara membuat VPN menggunakan Strongswan dan Let’s Encrypt untuk mengakses jaringan kantor dari rumah dan dari mana aja, selama ada internet, hehehe.

Persiapan

Berikut yang harus dipersiapkan sebelum kita membuat VPN server menggunakan Strongswan.

  • IP public
  • Sub domain yang diarahkan ke IP public
  • CentOS 7 server dengan root privileges
  • Akses ke router (Mikrotik)
  • Device dengan OS Windows dan macOS untuk testing sebagai VPN Client
Baca juga:  Instal & Konfigurasi Awal Mikrotik di ESXi

Install Strongswan di CentOS 7

Seperti biasa, sebelum install lakukan update dan upgrade setelah itu mengaktifkan epel-release.

yum -y install epel-release

Dan dilanjutkan dengan menginstall Strongswan yang akan kita buat sebagai VPN Server.

yum -y install strongswan

Install Let’s Encrypt dan Generate Certificate

Kita install terlebih dahulu Let’s Encrypt

yum -y install certbot

Dan kemudian kita harus buka port HTTP dan HTTPS di server CentOS menggunakan firewall-cmd.

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

Setelah itu kita generate certificate menggunakan Let’s Encrypt dengan perintah:

certbot certonly --rsa-key-size 4096 --standalone --agree-tos --no-eff-email --email aku@dartokloning.com -d vpn.dartokloning.com

Maka SSL certificate sudah dibuat untuk subdomain vpn.dartokloning.com yang diberada di folder ‘/etc/letsencrypt/live‘. Copy atau dibuat symbolic link certificate ke folder ‘/etc/strongswan/ipsec.d/‘.

cp /etc/letsencrypt/live/vpn.dartokloning.com/fullchain.pem /etc/strongswan/ipsec.d/certs/
cp /etc/letsencrypt/live/vpn.dartokloning.com/privkey.pem /etc/strongswan/ipsec.d/private/
cp /etc/letsencrypt/live/vpn.dartokloning.com/chain.pem /etc/strongswan/ipsec.d/cacerts/

Contoh diatas adalah dengan meng-copy certificate, jika hanya ingin membuat symbolic link yang mana sangat membantu jika nantinya saat proses update kita tidak perlu untuk mengcopy ulang ke folder Strongswan. Jika hanya ingin membuat symbolic link, bisa dengan perintah:

ln -s /etc/letsencrypt/live/vpn.dartokloning.com/fullchain.pem /etc/strongswan/ipsec.d/certs/
ln -s /etc/letsencrypt/live/vpn.dartokloning.com/privkey.pem /etc/strongswan/ipsec.d/private/
ln -s /etc/letsencrypt/live/vpn.dartokloning.com/chain.pem /etc/strongswan/ipsec.d/cacerts/

Konfigurasi Strongswan

Backup Konfigurasi Awal

Sebelum merubah konfigurasi, sebaikanya dibiasakan untuk melakukan backup konfigurasi tersebut.

cd /etc/strongswan/
mv ipsec.conf ipsec.conf.asli

Buat Konfigurasi Baru

vim ipsec.conf

Dan kemudian copy paste konfigurasi berikut ini dan harap dirubah disesuaikan dengan konfigurasi jaringan kantor Anda.

#global configuration IPsec
#chron logger
config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no
#define new ipsec connection
conn darto-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    ike=aes128-sha1-modp1024,aes128-sha1-modp1536,aes128-sha1-modp2048,aes128-sha256-ecp256,aes128-sha256-modp1024,aes128-sha256-modp1536,aes128-sha256-modp2048,aes256-aes128-sha256-sha1-modp2048-modp4096-modp1024,aes256-sha1-modp1024,aes256-sha256-modp1024,aes256-sha256-modp1536,aes256-sha256-modp2048,aes256-sha256-modp4096,aes256-sha384-ecp384,aes256-sha384-modp1024,aes256-sha384-modp1536,aes256-sha384-modp2048,aes256-sha384-modp4096,aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-sha256-sha1-modp2048-modp4096-modp1024,3des-sha1-modp1024!
    esp=aes128-aes256-sha1-sha256-modp2048-modp4096-modp1024,aes128-sha1,aes128-sha1-modp1024,aes128-sha1-modp1536,aes128-sha1-modp2048,aes128-sha256,aes128-sha256-ecp256,aes128-sha256-modp1024,aes128-sha256-modp1536,aes128-sha256-modp2048,aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp2048-modp4096-modp1024,aes128gcm16,aes128gcm16-ecp256,aes256-sha1,aes256-sha256,aes256-sha256-modp1024,aes256-sha256-modp1536,aes256-sha256-modp2048,aes256-sha256-modp4096,aes256-sha384,aes256-sha384-ecp384,aes256-sha384-modp1024,aes256-sha384-modp1536,aes256-sha384-modp2048,aes256-sha384-modp4096,aes256gcm16,aes256gcm16-ecp384,3des-sha1!
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=@vpn.dartokloning.com
    leftcert=fullchain.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.0.7.0/24
    rightdns=1.1.1.1,8.8.8.8
    rightsendcert=never
    eap_identity=%identity

Yang perlu diperhatikan adalah pada:

  • Baris ke 8, ganti sesuai dengan nama yang koneksi diinginkan
  • Baris ke 21, ganti dengan nama sub domain
  • Baris ke 28, ganti dengan subnet IP jaringan di kantor
Baca juga:  CentOS: Upgrade phpMyAdmin

Selanjutnya, kita mengedit file konfigurasi ‘ipsec.secrets‘.

vim ipsec.secrets

Dan isi dengan username dan password yang nantinya akan digunakan untuk dial VPN IKEv2, dan bisa diisi sebanyak-banyaknya, dengan format:

: RSA "privkey.pem"
darto : EAP "kloning@n"
iphone : EAP "mWaoXk/0cdFYwiNZM1VG92lxGb+oWQPuaDXmyv/c4DVD0klKQUq9xgCVrkXpjWpL"
macosx : EAP "aj2@-X*qq-JMrB-3xDA"

Untuk passwordnya bisa disesuaikan dengan keinginan tapi disarankan agar complex karena ini menyangkut jaringan di kantor. Bisa generate menggunakan openssl seperti contoh di baris ke 3, yaitu dengan perintah:

openssl rand -base64 48

Atau bisa juga dengan menggunakan passgen yang ada di KLoningSpoon. Setelah proses membuat username dan password maka konfigurasi untuk Strongswan sudah selesai dan saatnya untuk dijalankan servicenya, dengan perintah:

systemctl start strongswan
systemctl enable strongswan

Mengaktifkan NAT di Firewalld

Dan saatnya untuk kita mengaktifkan NAT di Firewalld.

firewall-cmd --zone=public --permanent --add-rich-rule='rule protocol value="esp" accept'
firewall-cmd --zone=public --permanent --add-rich-rule='rule protocol value="ah" accept'
firewall-cmd --zone=public --permanent --add-port=500/udp
firewall-cmd --zone=public --permanent --add-port=4500/udp
firewall-cmd --zone=public --permanent --add-service="ipsec"
firewall-cmd --zone=public --permanent --add-masquerade
firewall-cmd --reload

Kita cek kembali dengan perintah:

firewall-cmd --list-all

Mengaktifkan Port-Forwarding

Jalankan perintah:

vim /etc/sysctl.conf

Dan copy paste kode berikut:

net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

Cek kembali dengan perintah:

sysctl -p

Dan kemudian kita restart kembali Strongswan.

systemctl restart strongswan

Mengaktifkan NAT di Mikrotik

Login ke Mikrotik dan kemudian buka menu IPFirewallNAT dan tambahkan masing-masing konfigurasi port yang dibutuhkan oleh Strongswan. Daftar port yang harus dibuka di Mikrotik adalah:

  • Port 80/TCP yang digunakan untuk HTTP
  • Port 443/TCP yang digunakan untuk HTTPS
  • Port 500/UDP untuk paket data Strongswan
  • Port 4500/UDP untuk paket data Strongswan
Baca juga:  Instalasi Apache, MariaDB dan phpMyAdmin di Ubuntu

Berikut salah satu cara port-forwarding di Mikrotik, dan jangan lupa dikasih komentar setiap port yang dibuka yah, biar kita mudah mengetahui nantinya.

Membuat Koneksi VPN IKEv2

Membuat Koneksi VPN IKEv2 di macOS

Membuat VPN untuk mengakses jaringan kantor dari rumah - Membuat koneksi VPN IKEv2 di macOS
Membuat VPN untuk mengakses jaringan kantor dari rumah – Membuat koneksi VPN IKEv2 di macOS

Membuat koneksi VPN IKEv2 di Windows 10

Membuat Koneksi VPN IKEv2 di Windows 7

Membuat VPN untuk mengakses jaringan kantor dari rumah - Membuat koneksi VPN IKEv2 di Windows 7 - Membuat koneksi
Membuat VPN untuk mengakses jaringan kantor dari rumah – Membuat koneksi VPN IKEv2 di Windows 7 – Membuat koneksi
Membuat VPN untuk mengakses jaringan kantor dari rumah - Membuat koneksi VPN IKEv2 di Windows 7 - Setting koneksi
Membuat VPN untuk mengakses jaringan kantor dari rumah – Membuat koneksi VPN IKEv2 di Windows 7 – Setting koneksi
Membuat VPN untuk mengakses jaringan kantor dari rumah - Membuat koneksi VPN IKEv2 di Windows 7 - Rubah security
Membuat VPN untuk mengakses jaringan kantor dari rumah – Membuat koneksi VPN IKEv2 di Windows 7 – Rubah security

Membuat Koneksi VPN IKEv2 di iOS

Membuat VPN untuk mengakses jaringan kantor dari rumah – Membuat koneksi VPN IKEv2 di iOS

Membuat Koneksi VPN IKEv2 di Android

Untuk di Android silakan di download saja aplikasi strongSwan VPN Client dan isi kolomnya seperti di iOS.

Selesai

Sebetulnya masih banyak diluar sana yang lebih lihai dan pintar dari pada saya terlebih toh ini tutorialnya cuma copy paste aja, ya tapi udah di buktikan sih dan pastinya berhasil, kalau gak berhasil ngapain juga dibuat postingan, hehehe. Semoga bisa bermanfaat untuk yang baca.

Keuntungan dalam membuat VPN server ini bisa dibilang sangat memudahkan bagi yang sering memonitoring kerjaan di kantor. Karena dengan membuat VPN server ini kita seperti memiliki perangkat dalam satu jaringan kantor, sehingga kita bisa akses data server menggunakan IP local dan tentunya jadi bisa remote desktop menggunakan IP local yang menjadi trik untuk membatasi limit waktu di TeamViewer, coba aja deh, hehehe.

OK, selamat praktek.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *


The reCAPTCHA verification period has expired. Please reload the page.