Dua klien di belakang penghala yang sama bercakap dengan satu gerbang IPsec, dan satu sentiasa terputus manakala yang lain kekal bersambung. ESP asli ialah protokol IP 50 tanpa port, jadi penterjemah tiada apa-apa untuk dijadikan asas pemetaan apabila beberapa klien berkongsi satu alamat. Traversal NAT menutup jurang itu dengan membalut ESP dalam UDP pada 4500, dan pengepala itu menerangkan kebanyakan gejala yang menyusul. Ia juga menunjuk kepada peranti yang perlu diubah.

Mengapa satah data berpindah ke port 4500

Semasa persediaan IKEv2 membandingkan alamat dan port yang dianggap digunakan oleh setiap pihak, dengan bertukar hash dalam pemberitahuan pengesanan NAT. Apabila hash tidak sepadan, ada penterjemah di suatu tempat pada laluan, dan kedua-dua rakan menukar trafik terlindung kepada pengkapsulan UDP. Itulah sebabnya sesi yang bertemu penterjemah kelihatan berbeza daripada yang tidak.

Balutan itu sepucuk sampul, bukan perubahan protokol: ESP mengekalkan pengepala, semakan integriti dan penyulitannya, dan UDP hanya menyediakan port yang diperlukan penterjemah. Port 500 membawa pertukaran IKE; 4500 membawa data terkapsul selepas pengesanan, dan selalunya mesej IKE kemudian juga. Tiada port menjadikan aliran itu sambungan TCP, andaian yang mengelirukan kebanyakan orang yang membaca tangkapan.

Periksa dua peringkat mengikut urutan

Buktikan dahulu pertukaran kawalan, kemudian laluan data, dan asingkan kedua-duanya dalam nota anda. Tangkapan yang menunjukkan trafik pada 500 dan tidak pernah pada 4500 biasanya bermaksud laluan data ditapis, jadi pembetulan terletak pada peraturan tembok api, bukan pada klien.

Pantau kedua-dua port dengan tcpdump -ni any 'udp port 500 or udp port 4500', dan baca jadual terjemahan pada penghala semasa sesi aktif. Jadual itu menunjukkan port sumber yang benar-benar akan dilihat gerbang, dan tangkapan pada komputer riba berbeza secara reka bentuk: komputer riba percaya 500 manakala gerbang melihat 4500 dengan port sumber yang diterjemah, dan kedua-duanya betul. Aliran yang sama, sebelum dan selepas terjemahan:

client 192.0.2.10:500 -> router 203.0.113.7:62000 -> gateway 198.51.100.9:4500

Gejala yang dijelaskan oleh balutan, dan dua yang tidak

Penghala yang membenarkan pertukaran kawalan dan menyekat data terkapsul menghasilkan laporan bahawa terowong naik tetapi tiada apa yang melaluinya. Jadual pemetaan tamat tempoh, jadi sesi terbiar memerlukan trafik penyambung yang dihantar oleh rakan secara sengaja, dan paket itu bukan semakan kesihatan. Apabila beberapa klien di belakang satu gerbang gagal serentak, periksa terjemahan gerbang itu dan mana-mana ciri passthrough lama. Balutan tidak menjelaskan aplikasi yang gagal pada setiap klien selepas terowong naik, atau amaran sijil pada halaman sekatan; kedua-duanya berada di atas lapisan ini.

Baca jadual pemetaan untuk dua klien sekali gus: jika kedua-duanya menunjukkan port terjemahan yang sama, peranti itu tidak memisahkan mereka seperti yang dikehendaki gerbang. Mod passthrough yang menyerahkan ESP asli kepada satu hos sahaja tidak setara dengan melayani beberapa klien yang diterjemah, walaupun vendor menyifatkan kedua-duanya sebagai mesra IPsec. NAT berganda menambah lapisan pemetaan dan satu lagi titik tamat tempoh, tetapi ia tidak memutuskan sambungan keluar secara automatik.

Trafik penyambung wajar mendapat barisnya sendiri dalam manual operasi, kerana itulah yang menahan laluan balasan terbuka sepanjang tempoh terbiar. Dayakannya di tempat vendor mendokumenkannya, dan periksanya dahulu apabila sesi mati selepas beberapa minit senyap dan bukan pada penggunaan pertama.

Tukar pemilik pemetaan, kemudian uji semula

Ikut tetapan traversal NAT yang disokong pada kedua-dua rakan dan bukannya meneka port. Menyunting port sumber setempat pada satu klien tidak boleh mengubah perkhidmatan yang mendengar di hujung jauh, dan biasanya merosakkan pemetaan yang sudah dibina. Jika klien berada di belakang peranti yang anda tidak kawal, perubahan itu milik pemiliknya.

Selepas sebarang perubahan, ulangi kedua-dua semakan peringkat dan sahkan paket data melaluinya, bukan sekadar skrin status bertukar hijau. Simpan tuple, output jadual pemetaan dan perubahan peraturan dalam satu nota, supaya orang seterusnya tidak bermula semula dari pertukaran kawalan. Nota strongSwan tentang traversal NAT merangkumi tetapan pengkapsulan dan penyambung di sebalik kedua-dua peringkat.

Artikel berkaitan