الشبكات

NetIntent

🎯 ما هو:

NetIntent محرّك بايثون يبني نموذجًا لشبكة Cisco من إعداداتها ويجيب عن أسئلة الوصول مقابله: هل يمرّ التدفّق، وإن لم يمرّ فأين ولماذا يُمنع. يتحقّق من النوايا المُعلَنة، والأهم أنه يحاكي التغيير المقترَح على نسخة من النموذج كي يُلتقط التغيير الذي سيكسر الاتصال قبل دفعه إلى أي جهاز. مبني ومعروض على مختبر GNS3.

❓ المشكلة:

قبل دفع تغيير إعداد إلى شبكة حيّة، لا تملك الفرق الصغيرة طريقة سهلة لمعرفة هل سيكسر شيئًا. فـ ACL عُدّل بسعة زائدة، أو وصلة أُخفضت للصيانة فتبيّن أنها المسار الوحيد، أو مسار ثابت يحجب آخر — كلّها تغييرات من سطر واحد قد توقف خدمة، ولا تُكتشف عادةً إلا بعد الدفع.

⚙️ ماذا يفعل:

يحلّل إعداد كل جهاز إلى نموذج — الواجهات وشبكاتها الفرعية، وقوائم ACL (المسمّاة والمرقّمة، القياسية والموسّعة، مطابَقةً بت ببت مقابل أقنعة Cisco البدلية)، والمسارات الثابتة، وOSPF مبسّط

يبني جدول التوجيه لكل جهاز (المتّصل والثابت وأقصر مسار OSPF) ويتتبّع الحزمة قفزة بقفزة، مطبّقًا كل ACL داخلًا وخارجًا تمامًا حيث يفعل الراوتر

يتحقّق من النوايا — التدفّقات التي يجب أن تكون واصلة أو ممنوعة — ويبلّغ كلًّا منها بالمسار الذي تسلكه

يحاكي التغيير المقترَح على نسخة من النموذج ويبلّغ الأثر: أي النوايا سيكسرها، وأي ACL أو مسار مفقود هو المسؤول تحديدًا

يسجّل كل تحقّق ومحاكاة في سجلّ تدقيق

🧰 التقنيات:

الوصول للأجهزة — Netmiko (SSH)، والطرفية لمختبر GNS3

حساب العناوين — وحدة ipaddress القياسية (دقيقة، بلا اعتماديات)

تحليل الإعدادات — محلّل IOS صغير مُصمَّم لهذا الغرض

النموذج — توجيه متّصل/ثابت/OSPF مبسّط مع قوائم ACL

بناء المختبر — واجهة GNS3 v2 REST

التقنيات المستخدمة

PythonNetmikoipaddresscustom IOS parserGNS3PyYAMLpytest
1

طوبولوجيا مختبر GNS3 (لوحة حيّة)

طوبولوجيا مختبر GNS3 (لوحة حيّة)

لوحة GNS3 الفعلية — شبكة USERS على R1، ونواة OSPF‏ R1-R2-R3، وشبكة SERVERS على R3. الوصلات الخضراء تعني أن كل جهاز يعمل ومتقارب. هذه هي الشبكة المُحاكاة التي ينمذجها NetIntent ويتحقّق مقابلها.

2

التحقّق من النوايا

التحقّق من النوايا

يُتحقَّق من كل نيّة مُعلَنة مقابل النموذج بالمسار الذي يسلكه كل تدفّق: المستخدمون يصلون إلى الخوادم، والخوادم إلى المستخدمين، والمستخدمون ممنوعون من loopback إدارة R2، ويصلون إلى loopback خدمات R3 — وكلها ناجحة.

3

استعلام وصول فوري

استعلام وصول فوري

يمكن سؤال الوصول مباشرةً. والتدفّق الممنوع يُسمّي ACL والواجهة والاتجاه الذي يوقفه — هنا 10.1.10.0/24 إلى 2.2.2.2 ممنوع بقائمة ACL FROM-USERS‏ (in) على R2 FastEthernet0/0.

4

التقاط تغيير غير آمن قبل شحنه

التقاط تغيير غير آمن قبل شحنه

جوهر الأداة: قائمة ACL مقترَحة لتضييق شبكة الخوادم كُتبت بسعة زائدة وستكسر نيّة وصول المستخدمين إلى الخوادم. يبلّغ NetIntent أنها UNSAFE ويُسمّي ACL المسؤولة — قبل أن تمسّ أي جهاز.

5

إجازة تغيير آمن

إجازة تغيير آمن

في المقابل، تغيير آمن فعلًا يُحاكى ويُجاز — لا تتراجع أي نيّة مُعلَنة، فهو آمن للدفع.

6

مصفوفة الوصول

مصفوفة الوصول

مصفوفة تلخّص أي شبكات LAN الفرعية وواجهات loopback تصل إلى أيّها، محسوبة من النموذج — رؤية شاملة للاتصال في الشبكة بلمحة.

7

تأكيد التنبّؤ على الشبكة الحيّة

تأكيد التنبّؤ على الشبكة الحيّة

يُقارَن النموذج بالواقع: يتنبّأ NetIntent بأن إخفاض وصلة النواة يكسر الوصول، فيُطبَّق التغيير على المختبر الحيّ، ويفشل ping حقيقي تمامًا كما تنبّأ، ثم يتعافى عند التراجع.

8

نجاح مجموعة الاختبارات

نجاح مجموعة الاختبارات

تغطّي المجموعة مطابقة الأقنعة البدلية وACL، وتحليل الإعدادات، وبناء جدول التوجيه والبحث بأطول بادئة، والتتبّع قفزةً بقفزة (واصل، وممنوع بـ ACL داخلًا وخارجًا، وبلا مسار، وحلقة)، والتحقّق من النوايا ومحاكاة التغيير — كلها مقابل تجهيزات ثابتة، فلا حاجة لأي جهاز.