Log menunjukkan permintaan IKE yang sama dua kali, seseorang menunjuk ke uplink mudah alih, dan tiket ditutup dengan tekaan. Tekaan itulah mitosnya: paket berulang ialah pemerhatian tentang satu pertukaran, bukan diagnosis pautan. Penghantaran semula ialah tingkah laku normal dengan peraturannya sendiri, dan ia muncul pada laluan sihat setiap kali balasan lambat. Ikut balasan sebelum menyalahkan antara muka.

Mitos: permintaan berulang membuktikan kehilangan pada satu pautan

Dua perkara berbeza menghasilkan pendua, dan kedua-duanya tidak menamakan pesalah. Peminta boleh mengulang permintaan kerana tidak menerima jawapan, atau titik tangkapan boleh menunjukkan paket yang sama dua kali kerana kedudukannya pada timbunan. Ketukan yang melihat masuk dan keluar pada hos yang sama akan dengan senang hati mencatat satu paket sebagai dua, dan pengendali yang membaca log itu tiada cara membezakan tanpa pengecam pertukaran. Anggap pendua sebagai peristiwa pemasa sehingga anda boleh menyatakan yang mana antara kedua-duanya anda pegang.

Dua uplink menjadikan kekeliruan lebih teruk, bukan lebih baik. Satu baris log menamakan satu antara muka, manakala balasan mungkin keluar melalui yang lain, jadi antara muka dalam mesej menerangkan di mana paket dilihat dan bukan bentuk perbualan. Itulah sebabnya soalan pertama ialah pertukaran mana yang anda lihat, bukan pautan mana yang rosak.

Apa yang sebenarnya diberitahu oleh penghantaran semula

Dalam IKEv2, penghantaran semula berfungsi begini: peminta mengulang permintaan apabila tiada balasan tiba, dan penjawab boleh menghantar semula jawapan yang dicache dan bukannya mengira yang baharu. Pengecam mesej milik pertukaran itu, dan itulah yang menjadikan permintaan berulang dengan pengecam sama dikenali sebagai protokol yang berfungsi dan bukan cubaan baharu. Cubaan awal sering memerlukan lebih daripada alamat sumber atau SPI pemula untuk dikaitkan, jadi rekod pertukaran platform sendiri lebih baik daripada senarai paket. IKEv1 mengikut peraturan berbeza dengan pengecam berbeza, dan amaran vendor tentang pendua paket pertama tidak bermaksud sama merentas versi.

Jadi cap masa penghantaran semula memberitahu anda bahawa pemasa telah tamat. Ia tidak memberitahu lompatan mana yang lambat, dan sudah tentu tidak memberitahu bahawa pengendali bersalah. Itu dakwaan berasingan, dan hanya yang kedua berguna dalam tiket.

Akibat praktikalnya ialah merekod pertukaran sebelum membuat kesimpulan. Catat alamat penerimaan setempat, laluan balasan yang dipilih dasar, tuple rakan dan pengecam pertukaran di satu tempat, kerana setiap satu menjawab soalan berbeza apabila rekod dibaca kemudian.

Empat titik pemerhatian sebagai satu rantaian

Fikirkan pertukaran sebagai empat mata rantai dan bukan empat tempat berasingan untuk dilihat. Mata rantai menyimpan bukti atau kekal tidak diketahui, dan rantaian hanya seterang mata rantai terlemah yang direkodkan. Jadual di bawah ialah inventori: apa yang setiap kedudukan dapat membuktikan dan apa yang dibiarkannya tidak disentuh.

KedudukanBukti yang boleh diberikannyaApa yang dibiarkannya terbuka
Pemula menghantarPermintaan meninggalkan hos iniSama ada ia sampai ke rakan
Penjawab menerimaPermintaan tibaSama ada balasan dihasilkan
Penjawab menghantarBalasan meninggalkan gatewaySama ada ia mengikut laluan yang dimaksudkan
Pemula menerimaPertukaran selesaiSama ada dasar menerima hasilnya

Isi rantaian hanya di tempat anda mempunyai akses, dan tandakan selebihnya sebagai tidak diketahui dan bukannya membuat kesimpulan. Cangkuk yang merakam paket pada satu mesin tidak berkata apa-apa tentang apa yang diterima mesin jauh, dan baris log yang mencatat permintaan dilihat bukan bukti bahawa balasan pernah keluar. Jurang yang jujur lebih berguna daripada rekod yang kelihatan lengkap tetapi dibina daripada tekaan.

Cari peralihan pertama yang hilang

Susuri rantaian dari pemula ke luar dan berhenti pada mata rantai pertama tanpa bukti. Jika gateway tidak pernah merakam permintaan, kerosakan terletak pada laluan sebelumnya. Apabila gateway merakam permintaan yang sama berulang kali manakala klien tidak pernah merakam balasan, arah pulang adalah syak wasangka: alamat sumber, terjemahan dan penapisan pada setiap sempadan yang anda kawal. Jika balasan tiba dan klien masih tidak bergerak, soalan itu telah meninggalkan pengangkutan dan menjadi dasar atau keadaan.

Kekalkan rakan dan protokol sambil membandingkan, dan ingat bahawa kelewatan, kehilangan, dasar dan keadaan masing-masing menghasilkan garis masa berbeza. Rangkaian mudah alih bukan secara automatik puncanya, dan talian tetap bukan secara automatik cukup boleh dipercayai untuk setiap keperluan. Tangkap kedua-dua arah semasa pertukaran hidup:

tcpdump -ni any -vv 'udp port 500 or udp port 4500'

Apabila akses berhenti sebelum hujung jauh, rekod masih membantu jika ia menyatakan di mana ia berhenti. Tangkapan hanya pada pemula boleh menunjukkan permintaan keluar dan tiada balasan masuk, yang menyempitkan kerosakan kepada semua selepas cangkuk itu tanpa berpura-pura tahu lompatan mana yang menggugurkannya. Tandakan mata rantai jauh sebagai tidak diketahui dan biarkan orang seterusnya yang mempunyai akses mengisinya. Ditulis begitu, rekod kekal jujur dan masih ringkas.

Bandingkan sebelum mengubah apa-apa. Mengulang permintaan yang sama ke rakan yang sama dengan protokol yang sama memastikan pemboleh ubah boleh dikira, manakala set semula, pembaharuan kunci atau suntingan dasar antara tangkapan memusnahkan perbandingan. Jika perubahan tidak dapat dielakkan, tangkap semula sejurus selepasnya supaya sebelum dan selepas masih menggambarkan pertukaran yang sama.

Apa kata laporan yang berguna

Laporan yang wajar ditindaklanjuti memasangkan satu permintaan dengan balasannya dan menamakan langkah pertama yang tiada bukti di belakangnya. Ayat itu bertahan dibaca seminggu kemudian oleh jurutera yang tidak hadir, dan memberi orang seterusnya tempat bermula dan bukan suspek.

Jangan sekali-kali melemahkan pemeriksaan identiti atau meluaskan set protokol yang dibenarkan semata-mata untuk menguji teori penghantaran semula. Simpan paket dan rekod peristiwa asal sebelum sebarang set semula, kerana set semula memusnahkan tepat bahan yang hendak anda kumpulkan dan memadam pemasaan yang menunjukkan di mana pertukaran tersekat.

Mitosnya ialah satu pendua membuktikan pengendali bersalah. Kenyataannya ialah satu pendua membuktikan pemasa telah tamat, dan jawapannya hidup pada laluan balasan.

Artikel berkaitan