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.

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.
Secara historis strongSwan memakai ipsec.conf bergaya serupa Libreswan, dengan parameter global di strongswan.conf:
conn L2TP-IKEv1
type=transport
left=%any
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
authby=secret
ikev1=always
esp=aes128-sha1
auto=addPerhatikan ikev1=always — ini setara dengan ikev2=never di Libreswan dan memaksa negosiasi IKEv1, yang dibutuhkan client L2TP klasik.
Sejak versi 5, strongSwan merekomendasikan swanctl dengan file swanctl.conf yang lebih eksplisit. Strukturnya berbasis section bernama, seperti YAML:
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.
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 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:
sudo swanctl --load-all
sudo swanctl --initiate --child L2TP
sudo swanctl --list-sasPerintah swanctl --list-sas menampilkan SA setelah inisiasi, dan harus menunjukkan state ESTABLISHED.
Terapkan konfigurasi dan periksa hasilnya:
sudo systemctl restart strongswan
sudo swanctl --load-all
sudo swanctl --list-connsLog charon menampilkan setiap langkah negosiasi IKE:
sudo journalctl -u strongswan -fJika 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.
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:
ipsec.conf gaya lama atau swanctl.conf modern.ikev1=always memaksa IKEv1 untuk client L2TP klasik.swanctl adalah antarmuka kontrol modern pengganti ipsec auto.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.