Salah satu VPN yang populer dan banyak digunakan adalah L2TP. Ini adalah VPN yang cross platform dan sudah tersedia secara default pada beberapa perangkat client seperti windows, android, macos, pada linux biasanya kita harus memasang paket terlebih dahulu.
Jika kalian pernah nyoba install l2tp/ipsec server pada ubuntu pasti langkahnya sangat ribet sekali dan akan menguras cukup banyak waktu untuk konfigurasi dan testing. Pada artikel ini kita akan belajar bersama bagaimana cara install L2TP/IPsec VPN Server pada Docker Container yang nantinya akan sangat simpel sekali.
Prasyarat
- Sudah menginstall docker
- Jika akan digunakan di internet maka harus memiliki ip publik, disini tkjpedia menggunakan VPS
Install L2TP/IPsec VPN Server di Docker Container
Pada saat artikel ini dibuat, tkjpedia menggunakan docker versi 20.10.13 build a224086
Pull image dari https://hub.docker.com/r/hwdsl2/ipsec-vpn-server
docker pull hwdsl2/ipsec-vpn-server:debian
Jalankan Docker Container L2TP
docker run \ --name ipsec-vpn-server \ --restart=always \ -v ikev2-vpn-data:/etc/ipsec.d \ -v /lib/modules:/lib/modules:ro \ -p 500:500/udp \ -p 4500:4500/udp \ -d --privileged \ hwdsl2/ipsec-vpn-server:debian
Maka hasilnya akan seperti gambar dibawah.
Mendapatkan username dengan melihat log
docker logs ipsec-vpn-server
Coba di Windows
Kita bisa mencoba nya telebih dahulu, jika error pada windows teman teman bisa melakukan perintah dibawah ini menggunakan cmd dengan run as administrator.
REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
Tambahkan VPN pada pengaturan
Isikan formulir sesuai informasi pada log di atas
Jika berhasil maka akan bisa terkoneksi seperti gambar dibawah ini
Cek IP Address publik
Tambah User VPN
Kita bisa menambahkan user sebanyak yang kita mau menggunakan environment dengan cara kita menjalankan ulang container nya.
Pertama, hapus dulu container yang sekarang sudah berjalan dengan command berikut
root@ubuntu-1cpu-1gb-sg-sin1:~# docker stop ipsec-vpn-server ipsec-vpn-server root@ubuntu-1cpu-1gb-sg-sin1:~# docker rm ipsec-vpn-server ipsec-vpn-server root@ubuntu-1cpu-1gb-sg-sin1:~#
Kemudian jalankan kembali image nya menggunakan command seperti dibawah ini
docker run \ --name ipsec-vpn-server \ --restart=always \ -v ikev2-vpn-data:/etc/ipsec.d \ -v /lib/modules:/lib/modules:ro \ -p 500:500/udp \ -p 4500:4500/udp \ -d --privileged \ -e VPN_IPSEC_PSK='rahasia' \ -e VPN_USER='vpnutama' \ -e VPN_PASSWORD='rahasiautama' \ -e VPN_ADDL_USERS='vpnkedua vpnketiga vpnkeempat' \ -e VPN_ADDL_PASSWORDS='rahasiakedua rahasiaketiga keempat' \ hwdsl2/ipsec-vpn-server:debian
Keterangan
- VPN_IPSEC_PSK = ipsec secret
- VPN_USER & VPN_PASSWORD = akun vpn utama
- VPN_ADDL_USERS & VPN_ADDL_PASSWORDS = akun tambahan, ditulis dengan format user1 user2 user3
Selamat mencobaaa…