قد تظهر واحدة أو أكثر من هذه الأعراض:
حالات انقطاع متقطعة في الاتصال للتطبيقات التي تتجاوز مجموعة FTD.
يفشل تأكيد اتصال TCP الثلاثي أثناء محاولات الاتصال.
يرسل العميل حزمة SYN، ولكنه لا يتلقى إستجابة SYN-ACK المتوقعة.
يرسل العميل حزمة RST بعد النظام الأولي.
المخطط
لتقريب المشكلة تحتاج إلى التقاط صور متزامنة في هذه النقاط:
FW1 داخلي قارن (مع reinject-hide)
FW1 الواجهة الخارجية (مع reinject-hide)
واجهة مجموعة FW1 (CCL)
واجهة FW2 الداخلية (مع reinject-hide)
الواجهة الخارجية FW2 (with reinject-hide)
واجهة نظام المجموعة ل FW2 (CCL)
العميل (أو أقرب ما يمكن إلى العميل)
الخادم (أو أقرب ما يمكن إلى الخادم)
للحصول على تفاصيل حول كيفية تكوين فحص الالتقاط:
تكشف عمليات الالتقاط التي تم التقاطها على جدران الحماية إلى جانب العميل والخادم عن هذه الطوبولوجيا:
1. يرسل العميل TCP syn. تصل الحزمة إلى موازن التحميل (LB) ويتم إرسالها إلى FW1.
2. يستلم FW1 حزمة TCP syn ويصبح مالك التدفق.
3. يقوم FW1 بإبلاغ المدير (FW2) عن مالك التدفق من خلال إرسال رسالة نظام مجموعة خاصة (CLU add).
4. يرسل FW1 نظام TCP إلى الخادم الوجهة.
ملاحظة: تحدث الخطوتان 3 و 4 بدون ترتيب محدد.
5. يرد الخادم مع SYN/ACK. في هذه الحالة، لدينا تدفق غير متماثل منذ أن تم إرسال SYN/ACK إلى FW2 بسبب خوارزمية موازنة حمل قناة المنفذ.
6. يصل SYN/ACK إلى FW2 قبل إضافة رسالة CLU. هذا شرط عرقي وبيئي محض (مثل زمن الوصول في CCL). وبما أن FW2 لا يعرف من هو مالك التدفق، يتم إسقاط SYN/ACK.
7. يتم إرسال TCP RST إلى الخادم.
8. تصل رسالة إضافة clu إلى FW2.
9. يرسل العميل حزمة TCP syn. تتم إعادة توجيه حزمة TCP syn إلى الخادم الوجهة.
10. في LB، ينتهي اتصال TCP الخاص بالتدفق المحدد.
11. يرد الخادم مع SYN/ACK (إعادة إرسال TCP). تصل حزمة SYN/ACK إلى FW2. هذه المرة، يعرف FW2 عن مالك التدفق لأنه حصل على رسالة إضافة CLU ويتم إعادة توجيه SYN/ACK إلى مالك التدفق عبر CCL. يتم إرسال SYN/ACK إلى العميل.
12 - ولا تعرف الشركة الليبرية عن هذا التدفق وتلقي نظام SYN/ACK، ومن ثم، لا يصل النظام/ACK أبدا إلى العميل.
13. LB واحد أو أكثر من حزم TCP RST.
وفي هذه المخرجات، تم تجميع عمليات الالتقاط من جدار الحماية على واجهات CCL والواجهات التي تواجه الخادم.
· على CCL يكون الالتقاط على منفذ UDP 4193.
· على واجهات البيانات، يطابق الالتقاط حركة مرور TCP بين نقاط النهاية باستخدام خيار الإدراج-hide. السبب هو أننا نريد أن نرى أين تصل الحزم بالفعل.
· عنوان IP 192.0.2.65 = العميل
· عنوان IP 192.0.2.6 = الخادم
الخطوة 1: أستخدم هذا الأمر على جهاز جدار الحماية الذي يحصل على SYN/ACK لمعرفة وقت وصول رسالة إضافة واجهة سطر الأوامر. في إخراج واجهة سطر الأوامر (CLI) يتم عرض الرسالة ك إضافة تدفق.
فك تشفير CCL لالتقاط عرض Firepower#
تم التقاط 3 حِزمة
1: 08:14:20.630521 127.2.1.1.51475 > 127.2.2.1.4193: udp 820
رسالة ASP لنظام المجموعة: المرسل: 1، المستلم: 0
إضافة تدفق: المالك 1، المدير 0، النسخ الاحتياطي 0،
IFC_IN (7020a7) و IFC_OUT (7020a7)
TCP SRC 192.0.2.65/37468, dest 192.0.2.6/80
الخطوة 2: تتبع حزمة SYN/ACK والتركيز على الطابع الزمني ونتيجة التتبع:
تتبع Firepower# show capture CAPI Packet-Number 1
تم التقاط 13 حِزمة
1: 08:14:20.628690 802.1Q vlan#200 P0 192.0.2.6.80>192.0.2.65.37468: S 2524735158:2524735158(0) ACK 2881263901 win 651660 <mss 1460،sackOK،timestamp 611712900 970937593،nop،wscale 7>
المرحلة: 1
النوع: الالتقاط
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 1708 نانو ثانية
التكوين:
معلومات إضافية:
قائمة الوصول إلى MAC
المرحلة: 2
النوع: قائمة الوصول
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 1708 نانو ثانية
التكوين:
قاعدة ضمنية
معلومات إضافية:
قائمة الوصول إلى MAC
المرحلة: 3
النوع: input-route-lookup
النوع الفرعي: حل واجهة الخروج
النتيجة: السماح
الوقت المنقضي: 13664 نانو ثانية
التكوين:
معلومات إضافية:
تم العثور على الخطوة التالية 192.168.200.140 باستخدام Egress IFC Inside (vrfid:0)
المرحلة: 4
النوع: Cluster-event
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 16104 نانو ثانية
التكوين:
معلومات إضافية:
واجهة الإدخال: 'Inside'
نوع التدفق: لا يوجد تدفق
أنا (0) سأصبح المالك
المرحلة: 5
النوع: object_group_search
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 19520 نانو ثانية
التكوين:
معلومات إضافية:
عدد مطابقة مجموعة كائنات المصدر: 0
عدد مرات مطابقة NSG المصدر: 0
عدد مرات مطابقة NSG للوجهة: 0
عدد البحث عن جدول التصنيف: 1
إجمالي عدد البحث: 1
تكرار عدد زوج المفاتيح: 0
تصنيف عدد مطابقة الجدول: 4
المرحلة: 6
النوع: قائمة الوصول
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 366 نانو ثانية
التكوين:
access-group CSM_FW_ACL_ global
الوصول-list CSM_FW_ACL_ تصريح متقدم ip أي قاعدة-id 268436480
access-list CSM_FW_ACL_ ملاحظة rule-id 268436480: نهج الوصول: mzafiro_blank - الافتراضي
access-list csm_fw_acl_ ملاحظة rule-id 268436480: قاعدة L4: قاعدة الإجراء الافتراضي
معلومات إضافية:
سيتم إرسال هذه الحزمة إلى الشخير لمزيد من المعالجة حيث سيتم الوصول إلى الحكم
المرحلة: 7
النوع: conn-settings
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 366 نانو ثانية
التكوين:
بروتوكول TCP لخريطة الفئة
تطابق بروتوكول TCP الخاص بقائمة الوصول
خريطة السياسة العامة العامة_السياسة
class tcp
set connection conn-max 0 جنيني-conn-max 0 random-sequence-number disable syn-cookie-mss 1380
عمومي_policy-service-policy
معلومات إضافية:
المرحلة: 8
النوع: NAT
النوع الفرعي: لكل جلسة
النتيجة: السماح
الوقت المنقضي: 366 نانو ثانية
التكوين:
معلومات إضافية:
المرحلة: 9
النوع: خيارات IP
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 366 نانو ثانية
التكوين:
معلومات إضافية:
النتيجة:
واجهة الإدخال: INSIDE(vrfid:0)
حالة الإدخال: لأعلى
حالة خط الإدخال: للأعلى
واجهة الإخراج: Inside(vrfid:0)
حالة الإخراج: لأعلى
حالة خط الإخراج: لأعلى
الإجراء: drop
الوقت المستغرق: 54168 نانو ثانية
سبب الإسقاط: (tcp-not-syn) أول حزمة TCP ليست SYN، drop-location: إطار snp_sp:7459 flow (NA)/NA
النقاط الرئيسية
· وصلت رسالة إضافة تدفق إلى 08:14:20.630521 بينما كان SYN/ACK ~2 msec سابقا في 08:14:20.628690. هذه هي حالة السباق.
· يتم إسقاط حزمة SYN/ACK بواسطة جدار الحماية لسبب TCP-not-syn ASP. لاحظ أنه في المرحلة 4 حاول جدار الحماية تحديد ما إذا كان هناك مالك تدفق معروف أم لا، وبالتالي، حاول أن يصبح مالك تدفق.
يظهر هذا الإخراج مسارا ل SYN/ACK عندما يعرف جدار الحماية التدفق:
تتبع Firepower# show capture CAPI Packet-Number 3
تم التقاط 13 حِزمة
3: 08:14:21.629560 802.1Q vlan#200 P0 192.0.2.6.80>192.0.2.65.37468: S 2540375172:2540375172(0) ACK 2881263901 win 651660 <mss 1460،sackOK،timestamp 611713901 970938595،nop،wscale 7>
المرحلة: 1
النوع: الالتقاط
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 1708 نانو ثانية
التكوين:
معلومات إضافية:
قائمة الوصول إلى MAC
المرحلة: 2
النوع: قائمة الوصول
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 1708 نانو ثانية
التكوين:
قاعدة ضمنية
معلومات إضافية:
قائمة الوصول إلى MAC
المرحلة: 3
النوع: Cluster-event
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 3416 نانو ثانية
التكوين:
معلومات إضافية:
واجهة الإدخال: 'Inside'
نوع التدفق: كعب روتين
لدي (0) تدفق، مالك صالح (1).
المرحلة: 4
النوع: الالتقاط
النوع الفرعي:
النتيجة: السماح
الوقت المنقضي: 7808 نانو ثانية
التكوين:
معلومات إضافية:
قائمة الوصول إلى MAC
النتيجة:
واجهة الإدخال: INSIDE(vrfid:0)
حالة الإدخال: لأعلى
حالة خط الإدخال: للأعلى
الإجراء: السماح
الوقت المستغرق: 14640 نانو ثانية
تم عرض حزمة واحدة
Firepower#
النقطة الأساسية في المرحلة 3. يعرف جدار الحماية أن وحدة نظام المجموعة 1 هي مالك التدفق. يمكنك إستخدام الأمر show cluster info لمعرفة الجهاز الذي هو الوحدة 0 والجهاز الذي هو 1.
س. لماذا نرى مشكلات اتصال TCP المتقطعة؟
أ. بما أن هذه هي حالة عرقية، فإنها تحدث عشوائيا. ويمكن تصوير حالة السباق تبعا لذلك:
س. ما هي الحلول الممكنة لتجنب حالة السباق؟
ج.
الحل 1: تمكين تحويل رقم تسلسل TCP عشوائيا للاستفادة من آلية ملف تعريف تعريف إرتباط TCP SYN. في هذه الحالة يتم تنظيم الاتصال وفقا لذلك:
الحل 2: تخلص من عدم التناظر في الشبكة. أولا، تحتاج إلى تحديد سبب عدم التناظر. قد يتطلب ذلك ضبط خوارزمية موازنة حمل قناة المنفذ، وإعادة توصيل كبلات قناة المنفذ بترتيب مختلف، من بين أمور أخرى.
السبب الجذري هو حالة سباق ناجمة عن عدم تناسق نظام المجموعة داخل نشر نظام المجموعة في FTD. تتم معالجة حزم SYN-ACK من الخادم بواسطة عقدة نظام مجموعة FTD مختلفة عن تلك التي عالجت حزمة SYN الأولية، مما يمنع إنشاء جلسة TCP المناسبة.
| المراجعة | تاريخ النشر | التعليقات |
|---|---|---|
1.0 |
09-Apr-2026
|
الإصدار الأولي |