Belajar L2TP IPsec - High Availability & Redundancy
Episode 19 of 23

Belajar L2TP IPsec - High Availability & Redundancy

Episode ini membangun ketersediaan tinggi untuk L2TP/IPsec: pola HA dengan banyak LNS, failover floating IP lewat VRRP, deteksi peer mati dengan DPD dan failureshunt, serta load balancing dengan DNS round-robin, ECMP, dan xl2tpd multi-instance.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

VPN adalah jalur hidup tim yang bekerja jarak jauh — ketika server VPN mati, produktivitas ikut mati. Episode 19 membahas high availability dan redundancy: bagaimana memastikan layanan L2TP/IPsec tetap berjalan meskipun satu server atau satu koneksi gagal.

Kita akan membedah tiga level ketersediaan: failover antar server dengan floating IP, deteksi kegagalan peer dengan DPD, dan load balancing untuk membagi beban banyak pengguna. Ketiganya saling melengkapi untuk membangun deployment yang tangguh.

Pola High Availability

Dua LNS dengan Floating IP

Pola paling umum adalah sepasang server LNS — satu aktif, satu standby — yang berbagi floating IP virtual. keepalived dengan VRRP memindahkan floating IP ke server cadangan saat server utama mati. Karena client menghubungi floating IP, kegagalan server utama tidak terasa oleh pengguna.

Konfigurasi keepalived di server utama:

keepalived VRRP di server utama
vrrp_instance VPN_HA {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    virtual_ipaddress {
        203.0.113.10/32 dev eth0
    }
}

Server standby memakai konfigurasi yang sama dengan state BACKUP dan priority 90. Saat MASTER mati, BACKUP mengambil alih 203.0.113.10.

DPD dan Failureshunt

DPD (Dead Peer Detection) memastikan peer yang mati terdeteksi cepat, sementara failureshunt memasang aturan pengalihan saat tunnel gagal — misalnya menolak traffic (drop) agar tidak bocor, atau mengalihkan ke jalur lain (pass):

DPD dan failureshunt di Libreswan
conn vpn-ha
    dpddelay=5
    dpdtimeout=30
    dpdaction=clear
    failureshunt=drop

Nilai failureshunt=drop menjatuhkan traffic VPN yang tidak memiliki tunnel — mencegah data bocor melewati jalur publik saat HA gagal.

Load Balancing

DNS Round-Robin dan ECMP

Untuk membagi beban, daftarkan beberapa alamat server pada satu nama DNS. Client akan terhubung ke alamat yang bergantian. Pendekatan ini sederhana tapi tidak memperhitungkan kapasitas tiap server — server yang sudah penuh tetap menerima koneksi baru.

Alternatif yang lebih cerdas adalah ECMP (Equal-Cost Multi-Path) di router: beberapa route dengan biaya sama menuju beberapa gateway LNS, dan router membagi paket. ECMP membutuhkan router yang mendukungnya dan stateful treatment untuk koneksi VPN.

xl2tpd Multi-Instance

Ketika satu proses xl2tpd menjadi hambatan, jalankan beberapa instance pada server berbeda dengan konfigurasi terpisah. Setiap instance mendengarkan floating IP sendiri:

Jalankan dua instance xl2tpd
sudo xl2tpd -D -c /etc/xl2tpd/xl2tpd-1.conf -p /var/run/xl2tpd-1.pid
sudo xl2tpd -D -c /etc/xl2tpd/xl2tpd-2.conf -p /var/run/xl2tpd-2.pid

Setiap file konfigurasi memakai local ip dan ip range yang berbeda agar tidak terjadi konflik alamat.

Merancang Skema HA End-to-End

Menyusun Semua Lapisan

Untuk ketersediaan penuh, gabungkan semua lapisan: dua server dengan floating IP lewat VRRP, DPD untuk deteksi cepat, failover otomatis yang membawa service ikut naik di server standby, dan load balancer di depan jika perlu.

Checklist perancangan:

  • VRRP: floating IP berpindah dalam hitungan detik saat MASTER mati.
  • Service failover: ipsec dan xl2tpd harus ikut pindah ke server standby.
  • DPD: sesuaikan dpddelay dan dpdtimeout dengan kondisi jaringan.
  • Failureshunt: putuskan arah traffic saat tunnel gagal — drop atau pass.
  • State synchronization: pastikan kolam alamat PPP tidak tumpang tindih antar server.

Uji skema HA secara berkala dengan mematikan server utama secara paksa dan mengukur waktu recovery. Latihan ini mengungkap titik lemah yang tidak terlihat saat semua berjalan normal.

Memantau Skema HA

Skema HA hanya berguna jika kegagalannya benar-benar terdeteksi. Tambahkan pemantauan khusus HA:

Pantau VRRP dan SA
ip addr show | grep 203.0.113.10
sudo ipsec statusall | grep -c "up "
sudo systemctl status keepalived

Periksa tiga hal: floating IP masih menempel, jumlah SA aktif, dan keepalived hidup. Kombinasikan dengan alerting di episode 21 agar kegagalan failover langsung diketahui tim.

Warning

Dua server LNS tidak boleh membagikan ip range yang sama, karena dua client bisa menerima alamat yang sama. Pisahkan kolam alamat antar server, atau gabungkan dengan server alokasi terpusat seperti RADIUS.

Penutup

Episode 19 membangun ketersediaan tinggi: pola VRRP dengan floating IP untuk failover antar LNS, DPD dan failureshunt untuk menangani kegagalan peer, serta DNS round-robin, ECMP, dan xl2tpd multi-instance untuk membagi beban.

Inti yang harus dibawa pulang:

  • keepalived VRRP memindahkan floating IP saat server utama mati.
  • DPD mendeteksi peer mati; failureshunt mengatur arah traffic saat gagal.
  • DNS round-robin membagi beban secara sederhana tanpa kapasitas terukur.
  • ECMP membagi traffic di router memakai route dengan biaya sama.
  • xl2tpd multi-instance memakai konfigurasi dan kolam alamat terpisah.
  • Uji failover secara berkala dan jangan bagikan ip range antar server.

Di episode 20 selanjutnya kita akan membahas automation dan Infrastructure as Code — role Ansible untuk Libreswan, strongSwan, dan xl2tpd, pembuatan konfigurasi otomatis, serta integrasi dengan RADIUS, LDAP, dan ACME.

Belajar L2TP IPsec - High Availability & Redundancy | Belajar L2TP IPsec