Klien berkata terhubung, server melihat rekan, dan aplikasi tetap tidak mencapai apa pun. Pada titik itu pertanyaan yang berguna bukan cipher mana yang harus diubah, melainkan kanal mana yang gagal. OpenVPN menamai dua fungsi secara eksplisit: kanal kontrol yang menegosiasikan dan mengelola sesi, serta kanal data yang membawa lalu lintas terlindungi. IKEv2 mengungkapkan pemisahan serupa melalui asosiasi IKE dan asosiasi CHILD. Lakukan pemeriksaan di bawah ini secara berurutan, karena perbaikan jalur data yang diterapkan pada kesalahan jalur kontrol membuang jendela perubahan.

Namai kanalnya sebelum Anda men-debug

Sisi kontrol menegosiasikan materi keamanan, mengautentikasi rekan, dan mengelola koneksi. Sisi data membawa lalu lintas terpilih setelah keadaan yang diperlukan ada.

Keduanya gagal dengan cara berbeda. Kegagalan kontrol biasanya meninggalkan Anda tanpa sesi yang bisa dipakai sama sekali, atau dengan sesi yang bernegosiasi ulang dalam lingkaran. Kegagalan data meninggalkan sesi yang tampak sehat sementara paket dibuang, salah dirutekan, atau dilindungi dengan parameter yang tidak akan diterima sisi lain. Baris log yang Anda baca memberi tahu Anda dalam keadaan mana, jadi baca labelnya sebelum teks kesalahan.

Periksa pertukaran kontrol

Pastikan jabat tangan selesai dan kedua sisi sepakat tentang transport, versi TLS, dan metode autentikasi. Log OpenVPN mencetak baris kanal kontrol dan kanal data secara terpisah, dan baris kontrol adalah tempat ketidakcocokan sertifikat, versi TLS, atau tls-crypt muncul.

Jika pertukaran kontrol gagal, periksa porta yang dapat dijangkau, rantai sertifikat dan tanggal validitasnya, jam sistem, tumpang tindih cipher antara klien dan server, serta kunci tls-auth atau tls-crypt apa pun. Rantai sertifikat yang besar juga bisa gagal pada MTU jalur sebelum autentikasi apa pun selesai, yang tampak seperti batas waktu dan bukan kesalahan kriptografis.

Perbaiki kesalahan kontrol dengan pengaturan kontrol. Menaikkan cipher data atau melonggarkan kebijakan autentikasi data tidak akan menyelesaikan jabat tangan yang tidak pernah melewati pertukaran sertifikat.

Periksa kanal data secara terpisah

Setelah sesi menyala, pastikan cipher dan mode data yang dinegosiasikan, penurunan kunci, dan perilaku pembaruan kunci. Di OpenVPN, baris kanal data menyebut cipher dan ukuran kunci yang benar-benar diinisialisasi, dan itu bisa berbeda dari cipher pertama dalam profil.

Lalu periksa apa yang dipasang sesi. PUSH_REPLY dapat menambahkan rute, server DNS, dan direktif redirect-gateway, dan salah satunya dapat mengirim lalu lintas ke tempat yang tidak dapat digunakan aplikasi. Untuk IKEv2, pertanyaan setara adalah apakah selektor asosiasi CHILD cocok dengan alamat dalam aliran sebenarnya.

tls-auth dan tls-crypt termasuk kanal kontrol. Keduanya mengautentikasi atau mengenkripsi jabat tangan, dan tidak memilih cipher data aplikasi. Jika Anda menambahkan salah satunya dengan harapan jalur data berubah, satu-satunya yang Anda ubah adalah jabat tangan.

Petakan nama ke IKEv2 dan OpenVPN

IKEv2 memiliki asosiasi keamanan IKE dan satu atau lebih asosiasi CHILD. Asosiasi IKE membawa pertukaran kontrol; asosiasi CHILD membawa lalu lintas terlindungi dan selektornya. Keduanya dinegosiasikan dan kuncinya diperbarui sesuai jadwal terpisah, sehingga yang satu bisa sehat sementara yang lain tidak.

ESP tidak memiliki kanal kontrol bergaya TLS di dalamnya. Protokol kontrol adalah IKE, dan ESP adalah muatan terlindungi. Menyebut ESP sebagai kanal data adalah singkatan longgar yang menjadi membingungkan saat membaca tangkapan paket, karena tangkapan menunjukkan pesan IKE dan paket ESP sebagai protokol berbeda di kabel.

Jaga pemetaan itu eksplisit dalam catatan Anda: kanal kontrol OpenVPN dan IKE SA adalah sisi manajemen, kanal data OpenVPN dan CHILD SA adalah sisi lalu lintas, dan implementasinya tidak dapat dipertukarkan meskipun pemisahannya tampak serupa.

Berhenti mengubah pengaturan yang salah

Telusuri jalur dalam satu arah: pertukaran kontrol, perlindungan data, penerusan, lalu resolusi nama. Berhenti pada tahap pertama yang gagal dan perbaiki hanya tahap itu. Sesi yang terhubung dengan ping ke gateway yang bekerja tetapi tanpa lalu lintas aplikasi adalah masalah penerusan atau selektor, bukan masalah jabat tangan.

Tulis bukti untuk setiap tahap secara terpisah di tiket: baris log kontrol, parameter data yang dinegosiasikan, rute yang terpasang, dan satu permintaan nyata. Struktur itu mencegah pemeriksaan identitas yang berfungsi dilemahkan untuk memperbaiki masalah perutean belakangan yang tidak pernah ditimbulkannya, dan mencegah perubahan cipher data dijual sebagai perbaikan kesalahan sertifikat.

Dokumentasi protokol OpenVPN adalah rujukan untuk pemisahan kontrol dan data; gunakan itu ketika antarmuka vendor memakai kata lain untuk dua fungsi yang sama.

Artikel terkait