Tiket dukungan sering datang dengan perubahan firewall sudah disetujui dan terowongan masih menolak naik. Itu adalah hasil yang diharapkan ketika hanya satu ujung yang memiliki fitur: enkapsulasi TCP menurut RFC 9329 harus diimplementasikan dan dikonfigurasi pada kedua ujung, dan kesepakatan terjadi di dalam koneksi sebelum lalu lintas terlindungi mana pun dapat bergerak. Membuka port mengiklankan listener yang mungkin tidak ada, dan listener tanpa konfigurasi yang cocok di sisi lain menerima koneksi lalu diam. Urutan di bawah ini menempatkan pemeriksaan murah lebih dulu.

Ketahui apa yang sebenarnya ditambahkan opsi itu

IPsec asli membawa muatan terenkripsi sebagai protokol IP 50, tanpa nomor port yang perlu diizinkan. NAT traversal membungkus paket-paket itu dalam UDP ke port 4500, dan itulah sebabnya begitu banyak aturan firewall menyebut port itu. RFC 9329 menambahkan representasi aliran: paket IKE dan IPsec keduanya bepergian di dalam satu koneksi TCP, biasanya ke port 4500.

Aliran itu bukan layanan web. Koneksi TCP ke 4500 tidak mengatakan apa pun tentang HTTP, TLS, atau keramahan proksi, dan proksi HTTP di jalur biasanya akan mematahkan pembingkaian alih-alih membawanya.

Pemeriksaan awal sebelum menyentuh firewall

Standar menempatkan TCP sebagai cadangan untuk jaringan yang membuang jalur UDP, bukan sebagai penggantinya. Dapatkan dua fakta dari setiap vendor: nama fitur yang tepat dan versi yang mengimplementasikan RFC 9329 alih-alih varian milik sendiri. Label seperti IPsec over TCP telah digunakan untuk desain yang tidak terkait, jadi mintalah rujukan dokumen dan kunci konfigurasi yang menyalakannya. Tanpa kedua jawaban itu, jangan mengasumsikan apa pun tentang kompatibilitas kabel.

Buktikan di laboratorium tempat kedua ujung milik Anda. Gateway yang menjawab di TCP 4500 tetapi tidak pernah menyelesaikan IKE adalah tanda adanya listener tanpa enkapsulasi yang cocok di sisi lain, dan menemukannya di sana jauh lebih murah daripada selama jendela perubahan.

Di responder: adakah yang mendengarkan

Mulailah dari soket. ss -ltnp | grep 4500 menunjukkan apakah ada listener TCP dan proses mana yang memilikinya. Tidak adanya baris mengakhiri penyelidikan pada konfigurasi gateway, bukan pada jaringan.

Jika soket ada, amati jabat tangan alih-alih menebak dari sisi klien: tcpdump -ni any 'tcp port 4500'. Jabat tangan tiga arah yang selesai diikuti keheningan berarti aliran diterima dan pertukaran IKE di dalamnya gagal, sedangkan SYN tanpa jawaban menunjuk ke penyaringan atau alamat yang salah.

Bandingkan dengan jalur UDP pada jendela tangkapan yang sama agar keduanya tidak tertukar: tcpdump -ni any 'udp port 4500 or proto 50'. Lalu lintas pada protokol 50 atau port UDP 4500 saat Anda percaya TCP sedang dipakai berarti kedua ujung tidak pernah menyetujui cadangan itu. Tangkap juga di gateway jika bisa, karena tangkapan di sisi klien tidak dapat menunjukkan apa yang dikirim ujung jauh.

Terima dalam empat tahap terpisah

Perlakukan penaikan sebagai empat hasil. Masing-masing dapat gagal karena alasan berbeda, dan satu lulus atau gagal menyembunyikan yang mana, jadi berhentilah pada tahap pertama yang gagal dan mulai lagi dari atas.

StageWhat you checkWhat it proves
1TCP connection established to 4500A listener exists and the path permits it
2IKE_SA authenticated in the gateway logBoth peers agreed on the encapsulation
3CHILD_SA installed, visible with ip xfrm stateKeys exist for the protected traffic
4A new application exchange succeedsThe data path works, not just the control path

Tahap empat adalah yang dilewati. Sesi yang ada mungkin terus bekerja pada status cache, jadi buka koneksi baru ke host di belakang gateway sebelum menutup perubahan. Jika tahap dua gagal sementara tahap satu lulus, ketidaksepakatan ada pada proposal atau pada pengaturan enkapsulasi, bukan pada firewall.

Pengembalian, dan biaya membiarkannya menyala

Rencanakan pembatalan sebelum perubahan: matikan opsi enkapsulasi di kedua ujung dan pastikan terowongan kembali lewat UDP. Pertahankan aturan TCP selama satu siklus tinjauan jika cadangan diperlukan lagi, lalu hapus. Listener yang tidak terpakai di 4500 adalah permukaan tanpa nilai operasional.

Perhatikan tanda kinerja begitu ia membawa pekerjaan nyata. TCP di dalam TCP menambahkan lapisan pengakuan yang macet pada satu kehilangan, dan aliran yang berbagi satu koneksi dapat saling memblokir, jadi ukurlah aplikasi yang akan memakai terowongan alih-alih ping.

Daftar penerimaan

Konfirmasikan nama dan versi fitur di kedua ujung, listener pada responder, tangkapan yang menunjukkan jabat tangan selesai, dan keempat tahap yang dicatat dengan stempel waktu. Tambahkan alasan cadangan ke catatan perubahan agar insinyur berikutnya tahu mengapa TCP ada di sana. Latih pengembalian sebelum Anda membutuhkannya.

Jika ada tahap yang gagal, perbaiki hanya tahap itu. Mengubah rangkaian sandi atau pengaturan identitas untuk mengejar masalah transportasi biasanya menambahkan kegagalan kedua yang tidak terkait di atas yang pertama.

Artikel terkait