بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيْم
Pendahuluan
Ada 2 mode VPN berdasarkan routingnya, yaitu Full Tunnel dan Split Tunnel. Pada mode Full Tunnel, semua trafik internet akan melewati VPN. Sedangkan pada mode Split Tunnel, hanya trafik ke subnet-subnet yang ditentukan saja yang akan melewati VPN, sedangkan trafik ke selain subnet tersebut tetap melewati ISP dari client.
Split Tunnel akan menghemat penggunaan bandwidth pada VPN server. Karena bandwidth VPN server hanya digunakan untuk trafik ke subnet-subnet yang ditentukan saja.
WireGuard
WireGuard adalah VPN yang setup-nya sangat simple. Konfigurasi pada server-nya tidak banyak, dan konfigurasi pada client juga hanya sekedar copy-paste.
Konfigurasi WireGuard pada Mikrotik (VPN Server)
Konfigurasi ini dilakukan melalui Winbox:
1. Buat Interface WireGuard

Private Key dan Public Key akan di-generate otomatis oleh Mikrotik. Simpan kerahasiaan 2 key ini, dan jangan sampai bocor ke antique-antique async.
2. Berikan IP Address pada Interface WireGuard

IP Address ini yang akan menjadi IP point-to-point antara VPN Server dan VPN Client.
3. Konfigurasi Peers
Peer ini yang akan membuat koneksi ke VPN client nantinya. 1 Peer untuk satu perangkat.

(3) Pilih “auto”
(4) WireGuard server hanya akan meng-allow trafik dari IP Address ini (VPN Client)
(5) Dicentang karena VPN Server akan bersifat pasif dan hanya menunggu request koneksi dari VPN Client
Nomor 6-9 diisi untuk meng-generate Client Config yang akan di-copy-paste pada WireGuard Client.
(6) IP Address yang akan digunakan oleh Client diambil dari IP yang telah dipasang pada interface WireGuard sebelumnya.
(7) DNS yang akan digunakan oleh Client. Ini penting karena jika kosong, maka Client tidak akan menggunakan DNS apapun.
(8) IP Address public milik router/WireGuard server. IP ini harus reachable dari internet.
(9) Di sinilah Split Tunnel dikonfigurasi. Subnet-subnet atau LAN di belakang WireGuard server atau router yang ingin diakses oleh Client diisi di sini. Jika diisi dengan 0.0.0.0/0, maka akan menjadi Full Tunnel.
Perhatikan DNS 1.1.1.1/32 dan 8.8.8.8/32 yang dimasukkan ke Allowed Address di atas. Ini diperlukan karena ada sebagian software seperti WHMCS yang whitelist-nya juga mencakup DNS resolution. Jadi jika WHMCS menerapkan whitelisted IP only, maka resolusi domain name dari Client juga harus melewati VPN Server.
(10) Setelah klik “Apply”. Maka pada nomor 10 akan muncul barisan konfig seperti tampilan di atas. Konfig tersebut tinggal di-copy lalu di-paste pada WireGuard Client.
4. Konfigurasi NAT
Karena IP 10.0.0.0/24 hanya dikenali oleh VPN Server dan Client, maka agar Client bisa berkomunikasi keluar router, maka IP nya perlu di-NAT.
ip firewall/nat/add
add action=masquerade chain=srcnat comment=WireGuard_VPN src-address=10.0.0.0/24
Gunakan masquerade apabila VPN Server memiliki subnet dengan interface yang berbeda-beda.
Konfigurasi WireGuard pada Client (VPN Client)
1. Download dan Install WireGuard
2. Copy-paste Config pada WireGuard Client

Lalu jendela “Create new tunnel” akan terbuka. Hapus semua baris yang ada lalu paste semua Client Config yang ada pada router.

Client Config pada Router juga bisa di-save dengan ekstensi .conf agar bisa di-import menggunakan menu “Import tunnel(s) from file”.
Client Config juga bisa ditampilan sebagai QR code untuk dapat di-scan langsung melalui WireGuard pada Smartphone Android atau iPhone.
Hal ini memudahkan deployment untuk skala yang lebih besar.

Selanjutnya, pengetesan dapat dilakukan dengan memastikan terlebih dahulu bahwa IP public pada Client tetap menggunakan IP public dari ISP. Caranya bisa dengan mengunjungi https://whatismyipaddress.com. Lalu coba akses subnet-subnet atau LAN yang ada berada di belakang VPN Server. Jika konfigurasi dilakukan dengan benar, maka Client akan dapat mengakses subnet/LAN tersebut melewati VPN, sedangkan untuk akses internet-nya tetap melewati ISP.
Jika ternyata IP public yang muncul pada https://whatismyipaddress.com adalah IP public VPN, maka berarti mode yang berjalan adalah Full Tunnel, bukan Split Tunnel.
Selesai