كيف تحوّل نطاق عناوين IP إلى كتل CIDR؟
كتلة CIDR تبدأ دائماً عند مضاعف لحجمها وتضم عدداً من العناوين هو قوة للعدد 2 (RFC 4632)، لذا فالنطاق الاعتباطي من عنوان إلى عنوان يحتاج عادةً إلى عدة كتل: من البداية خذ أكبر كتلة تبدأ عندها ولا تتجاوز النهاية، ثم كرّر. فالنطاق من 10.0.0.128 إلى 10.0.1.63 مثلاً هو 10.0.0.128/25 مع 10.0.1.0/26. وبالقاعدة نفسها تُدمج القائمة: اضمم النطاقات المتداخلة أو المتلاصقة، ثم اكتب كل جزء مضموم بأقل عدد من الكتل، فتحصل على أقصر قائمة دقيقة لجدار ناري أو لقائمة سماح.
ملاحظة أمنية: الدمج والتلخيص قد يوسّعان القاعدة: قبل أن تستبدل بأسطر قائمة السماح أو الجدار الناري عدداً أقل من الكتل، تحقق من أن النتيجة تطابق العناوين نفسها بالضبط لا كتلة أكبر منها.
كيفية استخدام حاسبة نطاقات IP
- الصق النطاقات في القائمة، نطاقاً في كل سطر، مثلاً من إعدادات جدار ناري أو من النطاقات التي ينشرها مزوّد سحابي؛ وما بعد # يُتجاهل.
- اقرأ الجدول: كل سطر كنطاق وككتل CIDR.
- راجع التداخلات والتحذيرات، ثم انسخ قائمة CIDR المدمجة أو نزّلها.
- لتعرف المدخلات التي تطابق عميلاً معيّناً، اكتب عنوانه في «عنوان للبحث عنه».
مزايا حاسبة نطاقات IP
- تقرأ كتل CIDR (بطول البادئة أو بقناع عشري نقطي)، والنطاقات المكتوبة بـ - أو – أو to أو ..، والنطاقات المختصرة مثل 10.0.1.10-99، وأنماط IPv4 مثل 192.168.1.*، والعناوين المفردة، مع IPv4 وIPv6 في القائمة نفسها
- كل مدخل بأول عنوان وآخر عنوان فيه وعدد عناوينه وكتل CIDR الدقيقة التي تغطيه، بترتيب العناوين
- فحص التداخل: كل زوج من المدخلات يشترك في عناوين، مع النطاق المشترك، وهل يحتوي أحدهما الآخر أم هما النطاق نفسه أم أن التداخل جزئي
- قائمة CIDR مدمجة تغطي كل عنوان مدرج مرة واحدة بالضبط، جاهزة للصق في جدار ناري أو مجموعة أمان أو قائمة سماح، ويمكن تنزيلها ملفاً نصياً
- أصغر كتلة واحدة تضم كل مدخلات IPv4 أو كل مدخلات IPv6، مع عدد العناوين الزائدة التي ستغطيها أيضاً
- بحث عن عنوان يسمّي كل مدخل يحتويه، وملاحظات سطراً سطراً للمدخلات التي تعذّرت قراءتها أو اضطرت الحاسبة إلى عكس طرفيها
المدخلات والمخرجات
المدخلات
- نطاقات IP أو كتل CIDR أو عناوين: مدخل في كل سطر، حتى 2,000 سطر، مع خلط IPv4 وIPv6؛ وعلامة # تبدأ تعليقاً.
- عنوان للبحث عنه (اختياري): عنوان IPv4 أو IPv6 واحد يُبحث عنه في القائمة.
المخرجات
- نظرة سريعة: عدد المدخلات المقروءة، والعناوين المميزة في IPv4 وIPv6، والعناوين المدرجة أكثر من مرة، وكتل CIDR بعد الدمج.
- كل مدخل كنطاق وككتل CIDR (مع تنزيل CSV)، وقائمة CIDR المدمجة (مع تنزيل نصي)، والمدخلات المتداخلة مع نطاقها المشترك.
- الملخص: أصغر كتلة واحدة لكل عائلة وعناوينها الزائدة، وعدد النطاقات المنفصلة بعد الدمج، والمدخلات التي تحتوي العنوان المبحوث عنه.
مثال على حاسبة نطاقات IP
تنظيف قائمة سماح فيها نطاق متداخل
الإدخال:
10.0.0.0/24
10.0.0.128 - 10.0.1.63
10.0.1.64/26
10.0.2.10-50
2001:db8::/126
عنوان للبحث عنه: 10.0.1.20النتيجة:
السطر 2 (10.0.0.128 - 10.0.1.63) = 10.0.0.128/25، 10.0.1.0/26 · السطر 4 (10.0.2.10-50) = 41 عنواناً في 6 كتل
تداخل: 1. 10.0.0.0/24 مع 2. 10.0.0.128 - 10.0.1.63، النطاق المشترك 10.0.0.128 – 10.0.0.255، أي 128 عنواناً، تداخل جزئي
قائمة CIDR المدمجة (9 كتل): 10.0.0.0/24، 10.0.1.0/25، 10.0.2.10/31، 10.0.2.12/30، 10.0.2.16/28، 10.0.2.32/28، 10.0.2.48/31، 10.0.2.50/32، 2001:db8::/126
أصغر كتلة واحدة (IPv4): 10.0.0.0/22، وتغطي أيضاً 599 عنواناً خارج مدخلاتك · موجود في: 2. 10.0.0.128 - 10.0.1.63كيف تقرأ نتائج حاسبة نطاقات IP
العناوين المدرجة أكثر من مرة تعدّ كل عنوان يغطيه مدخلان أو أكثر، مرةً واحدة مهما تعددت المدخلات التي تذكره؛ والصفر يعني أنه لا يوجد مدخلان يشتركان في عنوان.
«يحتوي الآخر» تدل عادةً على سطر زائد: المدخل الأصغر لا يضيف شيئاً. أما «تداخل جزئي» فيستحق النظر، لأن السطرين كان يُقصد غالباً أن يتلاصقا لا أن يتداخلا.
إن قلّ عدد الكتل بعد الدمج عن عدد أسطر قائمتك فيمكن تقصير القائمة دون أن يتغير ما تطابقه؛ وإن زاد فبعض المدخلات نطاقات لا تعبّر عنها كتلة CIDR واحدة.
أصغر كتلة واحدة فيها عناوين زائدة كثيرة تحذير لا اقتراح: فاستخدامها سيطابق عناوين لا يذكرها أي من مدخلاتك.
متى تستخدم حاسبة نطاقات IP
- تحويل النطاقات التي ينشرها مزوّد من عنوان إلى عنوان إلى كتل CIDR لجدار ناري أو مجموعة أمان أو WAF لا يقبل إلا صيغة CIDR.
- مراجعة قائمة سماح أو حظر بحثاً عن الأسطر المكررة والمتداخلة قبل اعتمادها.
- الإجابة عن سؤال «هل عنوان هذا العميل في قائمة السماح لدينا، وفي أي سطر؟» أثناء حادثة أو بلاغ دعم.
- اختصار قائمة طويلة من العناوين والنطاقات الصغيرة في أقل عدد من الكتل الدقيقة لقائمة بادئات في موجّه أو لقائمة ACL.
استكشاف الأخطاء وإصلاحها
- رسالة «ليس عنوان IPv4 أو IPv6 ولا نطاقاً ولا كتلة CIDR»: ابحث عن حرف زائد أو نقطة ناقصة أو اسم مضيف؛ فالأسماء لا تُحل، والحاسبة تقرأ العناوين فقط.
- رسالة «طرفا النطاق من عائلتي عناوين مختلفتين»: النطاق يمتد من IPv4 إلى IPv4 أو من IPv6 إلى IPv6؛ فاكتبه سطرين.
- رسالة «لا تنوب * إلا عن الأجزاء الأخيرة»: النمط 10.*.1.* ليس نطاقاً؛ اكتبه أسطراً منفصلة أو كتل CIDR.
- سطر «عُكس ترتيبه»: كُتب النطاق بدءاً بنهايته (10.0.0.9 - 10.0.0.1)، فبدّلت الحاسبة الطرفين ونبّهت إلى ذلك.
الأسئلة الشائعة حول حاسبة نطاقات IP
لماذا يتحول النطاق الواحد إلى عدة كتل CIDR؟
كتلة CIDR تبدأ دائماً عند مضاعف لحجمها وتضم عدداً من العناوين هو قوة للعدد 2، لذا فمعظم النطاقات ليست كتلة واحدة. فالنطاق من 10.0.0.128 إلى 10.0.1.63 هو 10.0.0.128/25 مع 10.0.1.0/26. وتأخذ الحاسبة في كل خطوة أكبر كتلة تتسع، فتحصل على أقصر قائمة ممكنة (تجميع RFC 4632).
ماذا تحتوي قائمة CIDR المدمجة؟
كل عنوان يغطيه مدخل واحد على الأقل، مرة واحدة فقط: تُضم المدخلات المتداخلة والمتلاصقة، ثم يُكتب كل جزء مضموم بأقل عدد من كتل CIDR. الصقها في جدار ناري أو مجموعة أمان أو قائمة سماح بدل الأسطر الأصلية، دون أن يتغير ما تطابقه.
كيف يُعرض التداخل؟
يُدرج كل زوج من المدخلات يشترك في عناوين مع النطاق المشترك وعدد عناوينه، وهل يحتوي أحد المدخلين الآخر، أم هما النطاق نفسه، أم أن تداخلهما جزئي. وعادةً ما تظهر هنا أولاً قواعد الجدار الناري الزائدة وأسطر قوائم السماح المتعارضة.
ما الصيغ التي يمكنني لصقها؟
مدخل في كل سطر: 10.0.0.0/24 أو 10.0.0.0/255.255.255.0، و10.0.1.10 - 10.0.1.99 (أو مع شَرطة طويلة أو to أو ..)، والصيغة المختصرة 10.0.1.10-99، ونمط IPv4 مثل 192.168.1.*، والعناوين المفردة من IPv4 أو IPv6. وما بعد # يُعامَل كتعليق. والأسطر التي تتعذر قراءتها تُذكر بأرقامها ويُحسب الباقي.
ما «أصغر كتلة واحدة»؟
هي كتلة CIDR الوحيدة التي تضم كل مدخلات IPv4 (أو IPv6) في القائمة. ولا تكون دقيقة إلا إذا ملأتها المدخلات؛ وإلا فتبيّن الصفحة كم عنواناً خارج مدخلاتك ستغطي أيضاً، ولهذا فاستخدام كتلة واسعة في قاعدة جدار ناري اختصار محفوف بالخطر.
ملاحظات تقنية
كتلة CIDR بادئة: تبدأ عند مضاعف لحجمها وتضم 2^(عدد البتات − البادئة) عنواناً (RFC 4632). ولتحويل نطاق إلى كتل تؤخذ، من عنوان البداية، أكبر كتلة تبدأ عنده ولا تتجاوز النهاية، ثم يُكرر ذلك من العنوان التالي؛ وتعطي هذه القاعدة الجشعة أقصر قائمة دقيقة، ولا تزيد أبداً على 2 × (عدد البتات − 1) كتلة لأي نطاق.
الدمج يرتّب مدخلات كل عائلة حسب أول عنوان فيها، ويضم أي مدخل يبدأ عند العنوان التالي لنهاية الجزء الحالي أو قبله، فتصير النطاقات المتداخلة والمتلاصقة جزءاً واحداً، ثم يُحوَّل كل جزء إلى كتل. ويُكتشف التداخل بالترتيب نفسه، فلا يُقارن المدخل إلا بالمدخلات التي تبدأ قبل نهايته.
أصغر كتلة واحدة هي أطول بادئة مشتركة بين أدنى عنوان وأعلى عنوان بعد الدمج. وكل الحسابات من نوع BigInt في @engines/ip-calc و@engines/ip، فنطاقات IPv6 دقيقة؛ ويُرفض عنوان IPv4 فيه صفر بادئ (010) لأن بعض المحللات تقرؤه بالنظام الثماني.
الحدود ومنهجية القياس
حتى 2,000 سطر في كل مرة، و200 زوج متداخل في القائمة، و5,000 كتلة في القائمة المدمجة؛ والأعداد فوق الجداول تشمل كل ما قُرئ.
تُقرأ العناوين فقط: أسماء المضيفين وأرقام المنافذ والبروتوكولات وإجراءات الجدار الناري في قاعدة ملصوقة لا تُفهم وتجعل السطر غير مقروء.
تعمل على القائمة التي تعطيها إياها: لا تستطيع أن تعرف هل هذه العناوين مستخدمة أو موجَّهة أو مخصصة لأحد.
الأمان والخصوصية
تُعالج القائمة والعنوان المبحوث عنه في متصفحك ولا تُرسل إلى أي مكان، ولا يُخزَّن شيء؛ فيمكنك لصق قواعد الجدار الناري وقوائم السماح دون أن تغادر جهازك.
المراجع
- RFC 4632: Classless Inter-domain Routing (CIDR)تدوين طول البادئة (/24) لشبكات IPv4 وكيف يحدد نطاقات الشبكة والمضيفين.
- RFC 1918: Address Allocation for Private Internetsنطاقات IPv4 الخاصة (10/8 و172.16/12 و192.168/16) التي لا تظهر أبداً على الإنترنت العام.
- RFC 4291: IP Version 6 Addressing Architectureتدوين عناوين IPv6 وأنواعها والعناوين الخاصة (loopback وlink-local وmulticast).