Belajar L2TP IPsec - strongSwan: Konfigurasi & Fitur
Episode 10 of 23

Belajar L2TP IPsec - strongSwan: Konfigurasi & Fitur

Episode ini membedah strongSwan sebagai alternatif modern: gaya konfigurasi lama ipsec.conf, pendekatan baru swanctl, dan fitur IKEv2, EAP, MOBIKE, serta certificate chain. Kalian juga menulis konfigurasi L2TP/IPsec pertama memakai swanctl.

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

Pendahuluan

Jika Libreswan adalah veteran yang tepercaya, strongSwan adalah implementasi IPsec yang paling rajin mengikuti standar modern. Episode 10 membedahnya: dua gaya konfigurasi — ipsec.conf warisan dan swanctl yang modern — plus fitur unggulan seperti IKEv2 penuh, EAP, MOBIKE, dan penanganan certificate chain yang lengkap.

strongSwan sangat relevan bagi L2TP/IPsec karena charon menangani IPsec dengan presisi tinggi, sementara xl2tpd tetap menjadi daemon L2TP di atasnya. Setelah episode ini, kalian bisa memilih daemon IPsec yang paling cocok untuk deployment kalian.

Dua Gaya Konfigurasi

ipsec.conf dan strongswan.conf (Gaya Lama)

Secara historis strongSwan memakai ipsec.conf bergaya serupa Libreswan, dengan parameter global di strongswan.conf:

ipsec.conf gaya strongSwan
conn L2TP-IKEv1
    type=transport
    left=%any
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
    authby=secret
    ikev1=always
    esp=aes128-sha1
    auto=add

Perhatikan ikev1=always — ini setara dengan ikev2=never di Libreswan dan memaksa negosiasi IKEv1, yang dibutuhkan client L2TP klasik.

swanctl: Pendekatan Modern

Sejak versi 5, strongSwan merekomendasikan swanctl dengan file swanctl.conf yang lebih eksplisit. Strukturnya berbasis section bernama, seperti YAML:

swanctl.conf untuk L2TP
connections {
    L2TP-IKEv1 {
        version = 1
        proposals = aes256-sha256-modp2048
        local-1 {
            auth = psk
        }
        remote-1 {
            auth = psk
        }
        children {
            L2TP {
                type = transport
                local_ts = udp/1701
                remote_ts = dynamic[udp]
                esp_proposals = aes128-sha1
            }
        }
    }
}

Pada blok children, local_ts = udp/1701 membatasi traffic yang dilindungi hanya pada UDP 1701 — persis peran leftprotoport di gaya lama.

Fitur Unggulan strongSwan

IKEv2 dan EAP

Charon mengimplementasikan IKEv2 (RFC 7296) secara lengkap dan mendukung EAP untuk otentikasi pengguna. Dengan EAP, kredensial tidak perlu dibungkus oleh mekanisme tua seperti XAUTH — EAP bisa membungkus EAP-MSCHAPv2, EAP-TLS, hingga EAP-TTLS untuk integrasi RADIUS yang bersih.

MOBIKE dan Certificate Chain

MOBIKE memungkinkan koneksi bertahan saat perangkat pindah jaringan, dan penanganan certificate chain yang lengkap memastikan validasi penuh dari leaf sampai root CA. Log dan kontrol dilakukan lewat swanctl seperti di episode 8:

Kontrol dan log strongSwan
sudo swanctl --load-all
sudo swanctl --initiate --child L2TP
sudo swanctl --list-sas

Perintah swanctl --list-sas menampilkan SA setelah inisiasi, dan harus menunjukkan state ESTABLISHED.

Memuat Konfigurasi dan Verifikasi

Proses Muat dan Cek

Terapkan konfigurasi dan periksa hasilnya:

Terapkan swanctl.conf
sudo systemctl restart strongswan
sudo swanctl --load-all
sudo swanctl --list-conns

Log charon menampilkan setiap langkah negosiasi IKE:

Log negosiasi IKE
sudo journalctl -u strongswan -f

Jika log berakhir dengan IKE_SA ... established, lapisan IPsec berhasil. Masalah yang umum: ketidakcocokan proposal — samakan blok proposals dan esp_proposals dengan suite yang didukung client.

Info

strongSwan dan Libreswan tidak boleh berjalan bersamaan di satu mesin karena keduanya mengelola stack IPsec kernel yang sama. Jika ingin membandingkan, pasang keduanya di VM terpisah seperti yang kita siapkan di episode 0.

Penutup

Episode 10 melengkapi gambaran implementasi IPsec: strongSwan dengan dua gaya konfigurasi, fitur IKEv2, EAP, MOBIKE, dan certificate chain, serta cara menerapkan dan memverifikasi konfigurasi L2TP memakai swanctl.

Inti yang harus dibawa pulang:

  • strongSwan memakai ipsec.conf gaya lama atau swanctl.conf modern.
  • ikev1=always memaksa IKEv1 untuk client L2TP klasik.
  • swanctl adalah antarmuka kontrol modern pengganti ipsec auto.
  • EAP menggantikan XAUTH untuk otentikasi pengguna di IKEv2.
  • MOBIKE menjaga koneksi saat perangkat berpindah jaringan.
  • Gunakan strongSwan dan Libreswan di mesin yang berbeda.

Di episode 11 selanjutnya kita akan membahas xl2tpd dan setup PPP — konfigurasi [lns default], integrasi dengan options.xl2tpd, penegakan MS-CHAPv2, dan penugasan alamat IP untuk client.

Belajar L2TP IPsec - strongSwan: Konfigurasi & Fitur | Belajar L2TP IPsec