Episode ini membedah daemon L2TP dan lapisan PPP di sisi server: konfigurasi [lns default], integrasi options.xl2tpd, penegakan MS-CHAPv2, enkripsi MPPE, dan penugasan alamat IP untuk client. Kalian merakit konfigurasi xl2tpd dan PPP lengkap.

IPsec sudah aman, IKE sudah dipilih — tapi tanpa xl2tpd dan PPP yang benar, pengguna tidak akan mendapat koneksi. Episode 11 membedah dua komponen terakhir dari sisi server: daemon L2TP yang menerima tunnel, dan daemon PPP yang melayani session, melakukan otentikasi, serta memberi alamat IP.
Di episode ini kalian merakit konfigurasi lengkap /etc/xl2tpd/xl2tpd.conf, /etc/ppp/options.xl2tpd, dan data pengguna di /etc/ppp/chap-secrets. Setelah selesai, server L2TP/IPsec kalian secara teknis sudah berfungsi end-to-end.
xl2tpd melayani dua peran: LNS untuk menerima koneksi masuk (server) dan LAC untuk melakukan koneksi keluar (client). Untuk server remote access, konfigurasi LNS:
[global]
ipsec saref = yes
[lns default]
ip range = 192.168.42.10-192.168.42.250
local ip = 192.168.42.1
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tpd
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yesip range adalah kolam alamat yang akan dibagikan ke client, local ip adalah alamat interface ppp0 di sisi server. ipsec saref = yes mengaktifkan dukungan bersama untuk akselerasi IPsec.
Jika fitur terkait IPsec diaktifkan, pastikan blok [ipsec] ada dengan nilai yang benar:
[ipsec]
require = yesNilai require = yes memaksa setiap koneksi L2TP melewati perlindungan IPsec — koneksi L2TP polos tanpa IPsec akan ditolak.
File /etc/ppp/options.xl2tpd berisi opsi yang diserahkan xl2tpd ke pppd untuk setiap session:
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
ms-dns 1.1.1.1
name l2tpd
require-mschap-v2
require-mppe-128
refuse-pap
refuse-chap
proxyarp
nologfdrequire-mppe-128 mewajibkan enkripsi MPPE 128-bit pada link PPP — syarat kunci untuk L2TP/IPsec klasik Windows. Baris proxyarp membuat server menjawab ARP atas nama client sehingga traffic bisa dirutekan kembali dengan mudah.
Data pengguna PPP disimpan di /etc/ppp/chap-secrets. Formatnya username server password alamat-ip:
budi l2tpd "rahasia-budi" 192.168.42.50
sari l2tpd "rahasia-sari" 192.168.42.51Kolom server harus cocok dengan nilai name di options.xl2tpd. Kolom IP opsional; jika kosong, alamat diambil dari ip range.
Saat session PPP dibangun, alamat client ditentukan dalam urutan prioritas: alamat tetap dari chap-secrets, lalu dari ip range di [lns default], dan ditolak jika kolam habis. Interface ppp0 di server mendapat local ip.
Verifikasi penugasan setelah client terhubung:
ip addr show ppp0
sudo ip route | grep pppAktifkan logging PPP untuk melihat proses otentikasi:
sudo tail -f /var/log/syslog | grep pppd
sudo journalctl -u xl2tpd -fLog pppd menampilkan urutan LCP -> Authentication -> IPCP. Jika otentikasi gagal, barisnya langsung menunjuk penyebab — misalnya MS-CHAPv2 authentication failed dari password yang salah.
Warning
refuse pap di xl2tpd.conf dan refuse-pap di options.xl2tpd harus sejalan. Jika salah satu membiarkan PAP, client bisa turun ke protokol lemah tanpa kalian sadari.
Episode 11 melengkapi sisi server: xl2tpd dikonfigurasi sebagai LNS dengan require = yes untuk IPsec, PPP ditegakkan ke MS-CHAPv2 dengan MPPE-128, dan alamat IP client dibagikan dari kolam ip range atau chap-secrets.
Inti yang harus dibawa pulang:
[lns default] mendefinisikan kolam IP, otentikasi, dan file PPP.[ipsec] require = yes menolak L2TP tanpa perlindungan IPsec.options.xl2tpd menegakkan MS-CHAPv2 dan MPPE-128.chap-secrets dengan format user server pass ip.proxyarp memudahkan routing balik ke client.chap-secrets dulu, lalu ip range.Di episode 12 selanjutnya kita akan membahas site-to-site L2TP/IPsec — membangun koneksi gateway ke gateway antara dua jaringan, konfigurasi dua sisi, routing statis dan dinamis, serta aturan firewall yang diperlukan.