Batas waktu L2TP di Ubuntu 22.04: bug terowongan xl2tpd
IPsec tersambung, PPP tidak pernah mulai, dan xl2tpd mengulang terowongan yang tidak dapat dicocokkannya. Periksa build yang terpasang sebelum menyentuh PSK atau server.
Desktop menampilkan koneksi yang sedang berjalan, IPsec melaporkan keberhasilan, dan antarmuka PPP tidak pernah muncul. Di syslog nomor terowongan yang sama berulang sampai upaya itu habis waktu di UDP 1701. Sebelum menyunting kunci yang dibagikan sebelumnya atau konfigurasi server, kenali bentuk ini: di Ubuntu 22.04 biasanya ini regresi paket di xl2tpd, dan server benar sepanjang waktu.
Apa yang dikatakan pasangan baris log yang berulang
Sesi yang gagal mencetak sepasang baris pada interval tetap: daemon tidak menemukan terowongan untuk pesan kendali yang masuk, lalu membuang pengenal panggilan dan terowongan yang diterimanya. Kemudian penghitung percobaan ulang mencapai batasnya dan koneksi ditutup dengan batas waktu di port 1701. Alamat dan pengenal bersifat kebetulan; bentuknya yang penting. IKE selesai, lalu lintas kendali L2TP tiba, dan daemon gagal mengaitkannya dengan terowongan yang sudah dibuatnya.
Jadi kesalahan berada di antara kendali L2TP dan PPP. Belum ada yang diuji mengenai rahasia, opsi PPP, atau subnet jarak jauh.
Pastikan IPsec benar-benar berhasil
Dua pemeriksaan memisahkan ini dari masalah kredensial, dan keduanya dilakukan sebelum perubahan paket apa pun.
ipsec status
journalctl -u strongswan --since "5 min ago" | grep -i "shared key"Keluaran status mencantumkan koneksi dan keadaannya, dan terowongan yang terbentuk berarti fase satu dan fase dua selesai. Baris log tentang kunci bersama yang hilang hanya menunjuk pada rahasia, jadi berhenti dan perbaiki itu dulu. Ketika IPsec terbentuk dan batas waktu L2TP masih muncul, daemon adalah tersangka yang tersisa. Simpan baris persis dari satu upaya alih-alih percobaan ulang sepanjang hari.
Periksa build xl2tpd, bukan nama rilis
Build jammy Ubuntu dari xl2tpd 1.3.16 mengaktifkan optimasi waktu-taut, yang merusak penguraian pengenal terowongan dalam balasan SCCRP server. Daemon lalu membuang paket kendali untuk terowongan yang dibuatnya sendiri. String versi lebih penting daripada nama distribusi.
dpkg -l xl2tpd
apt policy xl2tpd
apt-mark showholdPaket yang diperbaiki adalah 1.3.16-1ubuntu0.1, jadi build tanpa akhiran itu lebih tua daripada perbaikannya. Keluaran kebijakan menunjukkan kandidat mana yang akan dipasang peningkatan, dan daftar penahanan menjelaskan mengapa perbaikan belum datang. Di tempat paket tersedia, tingkatkan dan sambungkan ulang melalui profil normal alih-alih menyunting berkas dengan tangan. Jangan membangun ulang modul atau mengubah rahasia selama build lama masih terpasang.
Verifikasi PPP setelah perubahan
Peningkatan yang berhasil dibuktikan pada lapisan yang tadinya rusak. Periksa bahwa PPP naik, bukan hanya ikonnya berubah.
ip -4 addr show ppp0
ip route | grep pppDaftar antarmuka harus menunjukkan alamat lokal dan alamat peer, dan tabel rute harus membawa prefiks terowongan. Syslog harus menunjukkan terowongan diterima dan pppd melaporkan kedua alamat, tanpa baris terowongan-tidak-ditemukan yang berulang. Jika PPP sudah naik dan lalu lintas masih gagal, lihat routing atau MTU berikutnya, karena tahap L2TP sudah menyelesaikan tugasnya. Catat versi paket yang berfungsi di catatan mesin, agar pemasangan ulang di masa depan tidak mengembalikan build yang rusak.
Di tempat paket yang diperbaiki tidak tersedia, alternatif yang didokumentasikan adalah build lokal dari sumber 1.3.16 atau 1.3.17, peralihan ke kl2tpd, atau penurunan versi yang disematkan. Masing-masing membawa biaya pemeliharaan yang layak dicatat.