Membezakan pecahan IKEv2 daripada masalah rantaian sijil
Apabila jabat tangan berhenti sejurus selepas pertukaran pertama, tentukan sama ada mesej tidak pernah tiba atau ditolak sebelum menyentuh sijil.
Terowong berfungsi di rangkaian pejabat dan tersekat di rumah, dan log menunjukkan pertukaran pertama selesai sebelum apa-apa lagi berlaku. Corak itu menunjuk kepada pertukaran pengesahan, bukan kelayakan: rantaian sijil menjadikan mesej itu jauh lebih besar daripada yang sebelumnya, dan laluan yang tidak menyukai datagram besar akan menggugurkannya secara senyap. Dua mekanisme pecahan berbeza terlibat, dan mengetahui yang mana anda lihat menentukan pembaikan.
Dua mekanisme pecahan, satu simptom
IKEv2 mempunyai sambungan pecahannya sendiri, yang ditakrifkan dalam RFC 7383, yang membahagikan mesej IKE terlindung kepada mesej IKE yang lebih kecil. Rakan-rakan berunding tentang keupayaan itu, dan mesej dipasang semula oleh pelaksanaan IKE dan bukan oleh lapisan IP.
Pecahan IP biasa ialah mekanisme berbeza dengan mod kegagalan berbeza. Penghala di antara rakan-rakan memecahkan datagram besar, atau menggugurkannya dan mengembalikan mesej ICMP yang mungkin tidak pernah sampai kepada penghantar. Sesetengah rangkaian membuang serpihan secara senyap, dan sesetengah peranti tengah mengendalikan serpihan pertama tetapi bukan selebihnya. Dari sudut pandangan aplikasi, ketiga-tiga kes kelihatan serupa.
Lintasan NAT menambah pemboleh ubah ketiga, kerana ESP kemudian dibalut dalam UDP dan paket luar menjadi lebih besar sambil kelihatan seperti trafik UDP biasa pada port 4500. Laluan yang melepasi UDP dengan baik masih boleh gagal pada datagram yang tidak lagi muat.
Baca pertukaran yang gagal
Cari peralihan, bukan ralat. Log yang menunjukkan pertukaran awal dihantar dan dijawab, kemudian tiada apa-apa, memberitahu anda bahawa mesej seterusnya tidak pernah selesai. Naikkan tahap log sementara dan bandingkan saiz yang dilaporkan pada kedua-dua rakan.
Yang anda mahu tetapkan ialah sama ada penjawab melihat permintaan itu langsung. Jika pemula menghantar sesuatu dan penjawab tidak mempunyai sebarang rekod mengenainya, masalahnya ialah penghantaran. Jika penjawab menganalisis permintaan dan menolaknya, sijil itu sendiri adalah masalahnya, dan pecahan adalah gangguan. Perbezaan itu bernilai lebih daripada satu halaman mesej tamat masa.
Tukar laluan, bukan sijil
Uji klien yang sama, sijil yang sama dan konfigurasi yang sama dari rangkaian lain. Hotspot mudah alih biasanya merupakan laluan kedua termurah, dan ia benar-benar berbeza daripada pautan pejabat, bukan hanya pada nama.
Jika jabat tangan selesai pada laluan kedua, rantaian sijil adalah baik dan laluan pertama ialah pemboleh ubah. Jika ia gagal secara sama pada kedua-duanya, berhenti menguji rangkaian dan lihat mesej itu sendiri. Perbandingan tunggal itu menghapuskan kira-kira separuh penjelasan yang mungkin.
Ukur pertukaran sebelum anda mengedit apa-apa
Dapatkan saiz rantaian dan saiz laluan. Kedua-dua nombor mengehadkan apa yang boleh dihantar oleh jabat tangan, dan kedua-duanya murah untuk diukur:
openssl crl2pkcs7 -nocrl -certfile chain.pem | openssl pkcs7 -print_certs -noout | grep -c subject ls -l chain.pem ping -M do -s 1400 198.51.100.7 ip -s link show eth0 | sed -n '1,6p'
Dua yang pertama memberikan bilangan sijil dan saiz fail, yang merupakan petunjuk munasabah tentang berapa besar mesej pengesahan itu nanti. Ujian ping melaporkan sama ada datagram sebesar itu bertahan di laluan, dan pembilang antara muka menunjukkan sama ada serpihan digugurkan di hujung anda. Di Windows, ujian yang setara ialah ping dengan bendera do-not-fragment dan saiz muatan yang jelas.
Ulang ujian ke bawah sehingga berjaya. Saiz terbesar yang lulus ialah belanjawan kerja untuk laluan itu, dan ia lebih berguna daripada mana-mana nilai lalai yang diterbitkan.
Betulkan lapisan yang benar-benar rosak
Jika laluan menggugurkan datagram besar, dayakan pecahan IKE pada kedua-dua rakan dan sahkan sambungan itu dirundingkan, bukan hanya ditawarkan. Jika laluan mengendalikan serpihan dengan buruk pada peringkat IP, pembaikan itu terletak di situ atau pada MTU antara muka luar, bukan pada stor sijil.
Jika rantaian itu tidak perlu panjang, potong kepada sijil perantaraan yang benar-benar diperlukan oleh rakan. Membuang akar yang sudah dipercayai oleh klien ialah penyelenggaraan yang munasabah; membuang perantaraan bukan, dan mematikan pengesahan untuk mengecilkan mesej menukar masalah penghantaran dengan masalah keselamatan.
Catat mekanisme mana yang anda ubah dan bagaimana jabat tangan kelihatan selepasnya. Kejadian seterusnya biasanya pada rangkaian lain dengan simptom yang sama, dan catatan itulah yang menjadikan dua jam kepada sepuluh minit.