المقدمة
يصف هذا المستند مشكلة IPsec عندما تصبح اقترانات الأمان (SAs) غير متزامنة بين الأجهزة النظيرة.
المشكلة
إحدى أكثر مشاكل IPsec شيوعا هي إمكانية تجاوز مزامنة SAs بين الأجهزة النظيرة. ونتيجة لذلك، تقوم نقطة نهاية التشفير بتشفير حركة مرور البيانات باستخدام SA لا يعلم نظيرها عنها. يتم إسقاط هذه الحزم بواسطة النظير وتظهر هذه الرسالة في syslog:
Sep 2 13:27:57.707: %CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet has invalid spi for
destaddr=10.10.1.2, prot=50, spi=0xB761863E(3076621886), srcaddr=10.1.1.1
ملاحظة: في الأنظمة الأساسية لتوجيه Cisco IOS® XE، على سبيل المثال، موجهات خدمات التجميع (ASR) من Cisco وموجهات سلسلة Cisco Catalyst 8000، يتم تسجيل هذا الإسقاط الخاص تحت كل من عداد الإسقاط الخاص بمعالج تدفق الكم (QFP) العالمي وكذلك في عداد الإسقاط الخاص بميزة IPsec، كما هو موضح في الأمثلة التالية.
Router# show platform hardware qfp active statistics drop | inc Ipsec
IpsecDenyDrop 0 0
IpsecIkeIndicate 0 0
IpsecInput 0 0 <======
IpsecInvalidSa 0 0
IpsecOutput 0 0
IpsecTailDrop 0 0
IpsecTedIndicate 0 0
Router# show platform hardware qfp active feature ipsec datapath drops all | in SPI
4 IN_US_V4_PKT_SA_NOT_FOUND_SPI 64574 <======
7 IN_TRANS_V4_IPSEC_PKT_NOT_FOUND_SPI 0
12 IN_US_V6_PKT_SA_NOT_FOUND_SPI 0
من المهم ملاحظة أن هذه الرسالة الخاصة محدودة المعدل في Cisco IOS® بمعدل رسالة واحدة في الدقيقة لأسباب أمنية واضحة. إذا ظهرت هذه الرسالة لتدفق معين (SRC أو DST أو SPI) فقط مرة واحدة في syslog، فمن المحتمل أن تكون حالة مؤقتة موجودة في نفس وقت مفتاح IPsec، حيث يمكن أن يبدأ نظير واحد في إستخدام sa جديد بينما جهاز النظير غير جاهز تماما لاستخدام نفس SA. وعادة لا تكون هذه مشكلة، لأنها مؤقتة فقط ولن تؤثر إلا على بعض الحزم.
ومع ذلك، إذا إستمرت الرسالة نفسها لنفس التدفق ورقم SPI، فإنها تشير إلى أن عمليات SAs ل IPsec قد خرجت عن المزامنة بين الأقران. على سبيل المثال:
Sep 2 13:36:47.287: %CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet has invalid spi for
destaddr=10.10.1.2, prot=50, spi=0x1DB73BBB(498547643), srcaddr=10.1.1.1
Sep 2 13:37:48.039: %CRYPTO-4-RECVD_PKT_INV_SPI: decaps: rec'd IPSEC packet has invalid spi for
destaddr=10.10.1.2, prot=50, spi=0x1DB73BBB(498547643), srcaddr=10.1.1.1
هذا يشير إلى أن حركة المرور فارغة من اللون الأسود ولا يمكن إستردادها حتى تنتهي صلاحية SAs على جهاز الإرسال أو حتى يتم تنشيط كشف النظير الميت (DPD).
الحل
يزود هذا قسم معلومة أن أنت يستطيع استعملت in order to حللت الإصدار أن يكون وصفت في الفرع سابق.
إسترداد SPI غير صالح
in order to حللت هذا إصدار، cisco يوصي أن أنت مكنت ال SPI غير صحيح إستعادة سمة. على سبيل المثال، أدخل الأمر crypto isakmp invalid-spi-recovery. هنا بعض الملاحظات المهمة التي تصف إستخدام هذا الأمر:
- أولا، يعمل إسترداد SPI غير الصحيح فقط كآلية إسترداد عندما تكون نقاط الوصول غير متزامنة. تساعد هذه الحالة على إستعادة البيانات من هذا الشرط، ولكنها لا تعالج المشكلة الأساسية التي أدت إلى عدم مزامنة معلمات الخدمة في المقام الأول. لفهم السبب الرئيسي بشكل أفضل، يجب عليك تمكين تصحيح أخطاء ISAKMP و IPsec على كل من نقاط نهاية النفق. إذا حدثت المشكلة غالبا، فعليك الحصول على تصحيح الأخطاء ومحاولة معالجة السبب الأساسي (وليس فقط قناع المشكلة).
- هناك فهم خاطئ شائع حول الغرض من الأمر crypto isakmp invalid-spi-recovery ووظائفه. حتى دون هذا الأمر، يقوم Cisco IOS بالفعل بتنفيذ نوع من وظائف إسترداد SPI غير الصالحة عند إرسال إعلام DELETE إلى النظير المرسل ل SA الذي يتم إستقباله إذا كان لديه بالفعل IKE SA مع ذلك النظير. مرة أخرى، يحدث هذا بغض النظر عما إذا تم تنشيط الأمر crypto isakmp invalid-spi-recovery أم لا.
- يحاول الأمر crypto isakmp invalid-spi-recovery معالجة الحالة التي يستقبل فيها الموجه حركة مرور IPsec مع SPI غير صالح، ولا يحتوي على IKE SA مع ذلك النظير. في هذه الحالة، تحاول إنشاء جلسة عمل IKE جديدة مع النظير وترسل إعلام DELETE عبر IKE SA الذي تم إنشاؤه حديثا. ومع ذلك، لا يعمل هذا الأمر لجميع تكوينات التشفير. التكوينات الوحيدة التي يعمل هذا الأمر لها هي خرائط التشفير الثابتة حيث يكون النظير معرفا بشكل صريح والأقران الثابتة المشتقة من خرائط التشفير المتماثلة، مثل VTI. فيما يلي ملخص لتكوينات التشفير المستخدمة بشكل شائع وما إذا كان إسترداد SPI غير الصحيح يعمل مع هذا التكوين:
crypto-configuration |
إسترداد SPI غير صالح |
خريطة تشفير ثابتة |
نعم |
خريطة التشفير الديناميكية |
لا |
P2P GRE مع حماية النفق |
نعم |
حماية نفق mGRE التي تستخدم تعيين NHRP ثابت |
نعم |
حماية نفق mGRE التي تستخدم تعيين NHRP الديناميكي |
لا |
sVTI |
نعم |
عميل EzVPN |
غير متوفر |
أستكشاف أخطاء SPI غير الصحيحة بشكل متقطع وإصلاحها
تحدث رسالة خطأ SPI غير الصحيحة عدة مرات بشكل متقطع. وهذا يجعل من الصعب أستكشاف الأخطاء وإصلاحها، نظرا لأنه يصبح من الصعب للغاية تجميع تصحيح الأخطاء ذات الصلة. قد تكون البرامج النصية لإدارة الأحداث المضمنة (EEM) مفيدة للغاية في هذه الحالة.
أخطاء معروفة
تعرض هذه القائمة الأخطاء التي يمكن أن تؤدي إلى خروج عمليات IPsec SAs من المزامنة أو أنها مرتبطة باسترداد SPI غير صالح:
- معرف تصحيح الأخطاء من Cisco CSCvn31824 Cisco IOS XE ISAKMP يحذف SPI جديد إذا كان rx جديد SPI ربط قبل التثبيت
- معرف تصحيح الأخطاء من Cisco CSCvd40554 IKEv2: لا يمكن ل Cisco IOS توزيع إعلام INV_SPI باستخدام حجم SPI 0 - يرسل INVALID_SYNTAX
- يتم إسقاط حزم معرف تصحيح الأخطاء من Cisco CSCvp16730 الواردة ESP ذات قيمة SPI التي تبدأ ب 0xFF بسبب خطأ SPI غير صالح