Anda mungkin menyangka sambungan IKEv2 ialah satu pertukaran yang berakhir dengan trafik anda disulitkan. Ia sekurang-kurangnya dua, dan yang pertama tidak mengesahkan sesiapa. Rakan sebaya bermula dengan mesej kawalan, bersetuju tentang parameter kriptografi, membuktikan identiti, dan hanya selepas itu berunding tentang keadaan yang membawa paket aplikasi. Urutan itulah yang menjelaskan ketidakselarasan yang sering dilaporkan: gateway menjawab, klien berkata bersambung, tetapi aplikasi peribadi masih tamat masa. Berikut ialah apa yang sebenarnya dilakukan setiap peringkat, dan apa yang mesti benar selepasnya.

Mitos: jika gateway menjawab, anda bersambung

Jawapan kepada mesej pertama membuktikan titik hujung boleh dicapai dan bersedia bercakap. Ia tidak membuktikan akaun diterima, rantaian sijil disahkan, atau mana-mana dasar data dipasang.

Kegagalan itu berlaku kemudian, dan ia menghasilkan gejala berbeza. Penolakan sijil atau kegagalan EAP tiba selepas pertukaran pertama sudah berjaya, sebab itulah ping ke UDP 500 dan ikon klien hijau memberitahu anda sangat sedikit.

IKE_SA_INIT: bersetuju tentang parameter, bukan identiti

Pertukaran pertama membawa cadangan untuk persatuan keselamatan IKE: algoritma penyulitan dan integriti, fungsi pseudorawak, dan kumpulan Diffie-Hellman. Rakan sebaya juga bertukar nonce, dan setiap pihak memperoleh bahan kunci untuk IKE SA daripada rahsia kongsi yang dihasilkan nilai-nilai itu. Tiada apa dalam pertukaran ini menetapkan siapa pihak yang satu lagi. Ia menetapkan bahawa kedua-dua pihak boleh mengira kunci yang sama dan bersetuju tentang satu cadangan. Responder yang tidak menyukai mana-mana cadangan menolak pertukaran di sini, sebab itulah ketidakpadanan versi atau algoritma kelihatan seperti pelayan mati.

IKE SA yang dicipta pada titik ini melindungi semua pertukaran pengurusan kemudian. Itulah tugasnya, dan ia tugas yang berbeza daripada melindungi paket anda.

IKE_AUTH: buktikan identiti, kemudian bina CHILD SA pertama

Pertukaran kedua membawa identiti. Dengan sijil, setiap rakan menandatangani dengan kunci peribadinya dan mengemukakan rantaian yang mesti disahkan pihak lain; dengan EAP, responder mencabar pemula melalui kaedah yang dipilih. Di sinilah nama pelayan yang salah, sijil tamat tempoh atau kata laluan ditolak akhirnya muncul.

Dalam kes biasa IKE_AUTH juga merundingkan CHILD SA pertama, jadi perlindungan data dipersetujui dalam perjalanan pergi balik yang sama. Pemula mencadangkan pemilih trafik, responder menyempitkan atau menolaknya, dan kunci untuk laluan data diperoleh daripada IKE SA. Ini bermakna satu pertukaran boleh gagal di dua tempat yang sangat berbeza: identiti atau dasar. Baca muatan pemberitahuan atau ralat dan bukan kegagalan jabat tangan generik, kerana pembaikan untuk satu ialah sijil dan untuk yang lain ketidakpadanan subnet.

Dua SA, dua tugas

PersatuanMelindungiTingkah laku jangka hayat
IKE SAPertukaran pengurusan: penjanaan semula kunci, pemadaman, muatan konfigurasiDijana semula mengikut jadualnya sendiri; laluan data boleh bertahan dengan perubahan itu
CHILD SATrafik aplikasi yang sepadan dengan pemilih trafikDijana semula secara bebas, selalunya lebih kerap

Mengasingkan keduanya menjelaskan dua tingkah laku yang kelihatan seperti pepijat. Terowong boleh muncul sebagai terbentuk sementara penjanaan semula kunci gagal di latar belakang, dan CHILD SA boleh diganti tanpa klien kehilangan sambungan.

Pada strongSwan, rujukan konfigurasi IKEv2 dan swanctl --list-sas menunjukkan kedua-dua peringkat, dan ip xfrm state serta ip xfrm policy menunjukkan apa yang sebenarnya dipasang kernel. Membandingkan dua pandangan itu ialah cara terpantas untuk melihat sama ada rundingan selesai atau hanya kelihatan selesai. Jika daemon menyenaraikan CHILD SA yang kernel tiada keadaan untuknya, pemasangan gagal secara senyap. Jika kernel memegang keadaan yang daemon tidak tahu, anda melihat sisa percubaan terdahulu.

Apa yang masih mesti benar selepas terowong naik

Pemilih trafik menentukan alamat mana yang diliputi. Jika klien mencadangkan satu subnet dan pelayan menjangka yang lain, CHILD SA dipasang tetapi tidak membawa apa-apa yang berguna, dan ralat itu muncul sebagai masalah penghalaan dan bukan masalah rundingan. Kemudian tindanan tempatan mesti bekerjasama: penghantaran diaktifkan di tempat hos menghala, laluan menuju terowong, peraturan tembok api yang membenarkan paket dinyahkapsul, dan penyelesai dalaman jika nama peribadi terlibat. Setiap satunya gagal secara berasingan dan tiada satu pun dibaiki dengan memulakan semula daemon IKE.

Biarkan log kelihatan semasa anda mendiagnosis: pertukaran awal, kemudian pengesahan identiti, kemudian pengesahan pengguna di mana ia terpakai, kemudian pemasangan CHILD, dan akhir sekali trafik aplikasi. Peringkat yang berhenti ialah peringkat yang perlu dibaiki, dan kegagalan penghalaan kemudian tidak sekali-kali menjadi alasan untuk melonggarkan pemeriksaan identiti yang sudah lulus.

Artikel berkaitan