IKE melalui TCP 4500: semak kedua-dua hujung sebelum peraturan port
Penyelubungan TCP dirunding oleh kedua-dua hujung, bukan diberikan oleh peraturan tembok api. Jalankan semakan pendengar, tangkapan dan empat peringkat penerimaan mengikut urutan.
Tiket sokongan sering tiba dengan perubahan tembok api sudah diluluskan dan terowong masih enggan naik. Itulah hasil yang dijangka apabila hanya satu hujung mempunyai ciri itu: penyelubungan TCP menurut RFC 9329 mesti dilaksanakan dan dikonfigurasikan pada kedua-dua hujung, dan persetujuan berlaku di dalam sambungan sebelum sebarang trafik terlindung boleh bergerak. Membuka port mengiklankan pendengar yang mungkin tidak wujud, dan pendengar tanpa konfigurasi yang sepadan di sebelah sana menerima sambungan lalu senyap. Urutan di bawah meletakkan semakan murah dahulu.
Ketahui apa yang sebenarnya ditambah oleh pilihan itu
IPsec asli membawa muatan tersulit sebagai protokol IP 50, tanpa nombor port yang perlu dibenarkan. NAT traversal membalut paket itu dalam UDP ke port 4500, dan itulah sebabnya begitu banyak peraturan tembok api menyebut port itu. RFC 9329 menambah perwakilan aliran: paket IKE dan IPsec kedua-duanya bergerak di dalam satu sambungan TCP, biasanya ke port 4500.
Aliran itu bukan perkhidmatan web. Sambungan TCP ke 4500 tidak berkata apa-apa tentang HTTP, TLS atau keramahan proksi, dan proksi HTTP di laluan biasanya akan memecahkan pembingkaian dan bukan membawanya.
Semakan awal sebelum menyentuh tembok api
Standard meletakkan TCP sebagai sandaran untuk rangkaian yang menggugurkan laluan UDP, bukan sebagai penggantinya. Dapatkan dua fakta daripada setiap vendor: nama ciri yang tepat dan versi yang melaksanakan RFC 9329 dan bukan varian hak milik. Label seperti IPsec over TCP telah digunakan untuk reka bentuk yang tidak berkaitan, jadi minta rujukan dokumen dan kunci konfigurasi yang menghidupkannya. Tanpa kedua-dua jawapan, jangan andaikan apa-apa tentang keserasian wayar.
Buktikan di makmal di mana kedua-dua hujung milik anda. Gateway yang menjawab pada TCP 4500 tetapi tidak pernah menyelesaikan IKE ialah tanda pendengar tanpa penyelubungan sepadan di sebelah sana, dan menemuinya di sana jauh lebih murah daripada semasa tetingkap perubahan.
Di penghurai: adakah sesuatu mendengar
Mulakan dengan soket. ss -ltnp | grep 4500 menunjukkan sama ada pendengar TCP wujud dan proses mana memilikinya. Ketiadaan baris menamatkan siasatan pada konfigurasi gateway, bukan pada rangkaian.
Jika soket ada, perhatikan jabat tangan dan bukan meneka dari sebelah klien: tcpdump -ni any 'tcp port 4500'. Jabat tangan tiga hala yang selesai diikuti kesunyian bermakna aliran diterima dan pertukaran IKE di dalamnya gagal, manakala SYN tanpa jawapan menunjuk kepada penapisan atau alamat yang salah.
Bandingkan dengan laluan UDP dalam tetingkap tangkapan yang sama supaya kedua-duanya tidak keliru: tcpdump -ni any 'udp port 4500 or proto 50'. Trafik pada protokol 50 atau port UDP 4500 semasa anda percaya TCP sedang digunakan bermakna kedua-dua hujung tidak pernah bersetuju tentang sandaran itu. Tangkap juga di gateway jika boleh, kerana tangkapan di sebelah klien tidak dapat menunjukkan apa yang dihantar hujung jauh.
Terima dalam empat peringkat berasingan
Anggap naiknya sebagai empat hasil. Setiap satu boleh gagal atas sebab berbeza, dan satu lulus atau gagal menyembunyikan yang mana, jadi berhenti pada peringkat pertama yang gagal dan mula semula dari atas.
| Stage | What you check | What it proves |
|---|---|---|
| 1 | TCP connection established to 4500 | A listener exists and the path permits it |
| 2 | IKE_SA authenticated in the gateway log | Both peers agreed on the encapsulation |
| 3 | CHILD_SA installed, visible with ip xfrm state | Keys exist for the protected traffic |
| 4 | A new application exchange succeeds | The data path works, not just the control path |
Peringkat keempat ialah yang dilangkau. Sesi sedia ada mungkin terus berfungsi pada keadaan cache, jadi buka sambungan baharu ke hos di belakang gateway sebelum menutup perubahan. Jika peringkat kedua gagal manakala peringkat pertama lulus, perselisihan terletak pada cadangan atau pada tetapan penyelubungan, bukan pada tembok api.
Pengunduran, dan kos membiarkannya hidup
Rancang pembatalan sebelum perubahan: matikan pilihan penyelubungan pada kedua-dua hujung dan sahkan terowong kembali melalui UDP. Kekalkan peraturan TCP untuk satu kitaran semakan sekiranya sandaran diperlukan lagi, kemudian buangkannya. Pendengar yang tidak digunakan pada 4500 ialah permukaan tanpa nilai operasi.
Perhatikan tanda prestasi apabila ia membawa kerja sebenar. TCP di dalam TCP menambah lapisan pengesahan yang tersekat pada satu kehilangan, dan aliran yang berkongsi satu sambungan boleh menyekat satu sama lain, jadi ukur aplikasi yang akan menggunakan terowong dan bukan ping.
Senarai penerimaan
Sahkan nama dan versi ciri pada kedua-dua hujung, pendengar pada penghurai, tangkapan yang menunjukkan jabat tangan selesai, dan empat peringkat direkodkan dengan cap masa. Tambah sebab sandaran ke rekod perubahan supaya jurutera seterusnya tahu mengapa TCP ada di sana. Latih pengunduran sebelum anda memerlukannya.
Jika mana-mana peringkat gagal, baiki peringkat itu sahaja. Menukar suite sifer atau tetapan identiti untuk mengejar masalah pengangkutan biasanya menambah kegagalan kedua yang tidak berkaitan di atas yang pertama.