
مقال 5 دقائق للقراءة
درس: بروتوكول إدارة الشبكة البسيط (SNMP)
CCNA 200-301 | Simple Network Management Protocol
بعد أن تعلمنا كيفية استكشاف الأخطاء وإصلاحها يدوياً، حان الوقت لنتعلم كيف نراقب الشبكة بشكل استباقي (Proactive). تخيل أن لديك شبكة بها 100 راوتر وسويتش. هل من المعقول أن تدخل على كل جهاز لتتأكد من أن المعالج لا يعمل بكامل طاقته، أو أن إحدى الواجهات تعطلت؟ بالطبع لا. هنا يأتي دور SNMP.
1.ما هو SNMP؟
SNMP (Simple Network Management Protocol) هو بروتوكول قياسي يُستخدم لمراقبة وإدارة أجهزة الشبكة (مثل الراوترات، السويتشات، الخوادم، والطابعات) مركزياً. يسمح لمسؤول الشبكة بجمع المعلومات عن حالة الأجهزة، وتلقي التنبيهات الفورية عند حدوث مشكلة، وحتى تعديل بعض الإعدادات عن بُعد.
لماذا نحتاج SNMP؟
· المراقبة المركزية: عرض حالة جميع الأجهزة من لوحة تحكم واحدة. · الاكتشاف المبكر للأعطال: تلقي تنبيهات (Traps) فوراً عند تعطل واجهة أو ارتفاع درجة الحرارة. · جمع الإحصاءات: مراقبة استهلاك الباندويث، واستخدام المعالج (CPU)، والذاكرة (RAM). · الإدارة عن بُعد: تغيير بعض الإعدادات دون الحاجة للاتصال بكل جهاز على حدة.
2.المكونات الأساسية لـ SNMP
لفهم SNMP، يجب أن نعرف الأطراف الثلاثة الرئيسية:
أ. مدير الشبكة (SNMP Manager / NMS):
- هو الجهاز (عادةً خادم) الذي يقوم بمراقبة الشبكة.
- يرسل الطلبات (Queries) إلى الأجهزة، ويستقبل التنبيهات (Traps) منها.
- أمثلة: SolarWinds، PRTG، Cisco Prime.
ب. الوكيل (SNMP Agent):
- هو برنامج يعمل على الأجهزة المُدارة (الراوتر، السويتش).
- يستقبل الطلبات من المدير، ويجمع البيانات المطلوبة، ويرسلها إليه.
- يرسل التنبيهات (Traps) تلقائياً عند حدوث حدث مهم.
ج. قاعدة بيانات الإدارة (MIB - Management Information Base):
- هي قاعدة بيانات هرمية تحتوي على جميع المتغيرات التي يمكن مراقبتها على الجهاز.
- كل متغير له معرف فريد يسمى OID (Object Identifier).
- مثال: OID معين قد يمثل استخدام المعالج، وآخر يمثل حالة الواجهة.
3.رسائل SNMP الأساسية
يتواصل المدير والوكيل باستخدام عدة أنواع من الرسائل:
- GET:
· يرسلها المدير للوكيل لطلب قيمة متغير محدد (مثل: "كم نسبة استخدام المعالج؟").
- GETNEXT:
· يرسلها المدير لاستكشاف المتغيرات المتاحة في MIB بشكل تسلسلي.
- GETBULK:
· نسخة محسنة من GETNEXT، تستخدم لاسترداد كمية كبيرة من البيانات دفعة واحدة (متاح في SNMPv2 و v3).
- SET:
· يرسلها المدير للوكيل لتعديل قيمة متغير (مثل: "قم بإيقاف هذه الواجهة").
- TRAP:
· يرسلها الوكيل إلى المدير تلقائياً عند حدوث حدث مهم (مثل: "الواجهة GigabitEthernet0/1 تعطلت!"). لا ينتظر المدير رداً.
- INFORM:
· يشبه TRAP، لكنه يتطلب تأكيد استلام (Acknowledgment) من المدير لضمان وصول التنبيه.
4.منافذ SNMP
· UDP Port 161: يستخدم لرسائل الاستعلام (GET, GETNEXT, SET) التي يرسلها المدير. · UDP Port 162: يستخدم لرسائل التنبيه (TRAP, INFORM) التي يرسلها الوكيل.
5.إصدارات SNMP
تطور SNMP عبر ثلاث إصدارات رئيسية، والفرق الأهم بينها هو الأمان:
أ. SNMPv1:
· الإصدار الأول. · يستخدم Community String (مثل كلمة مرور) ولكنها تُرسل كنص عادي (Clear Text). · غير آمن، ولا يُنصح باستخدامه.
ب. SNMPv2c:
· تحسين على v1 (أسرع، ويدعم GETBULK). · لا يزال يستخدم Community String بدون تشفير. · شائع في الشبكات الصغيرة، لكنه غير آمن.
ج. SNMPv3:
· الإصدار الأكثر أماناً. · يدعم المصادقة (Authentication) و التشفير (Encryption). · يستخدم أسماء مستخدمين وكلمات مرور قوية. · يُنصح باستخدامه دائماً في بيئات الإنتاج.
6.إعداد SNMP بسيط على راوتر Cisco
لنفترض أننا نريد إعداد راوتر ليكون وكيلاً (Agent)، ونريد إرسال التنبيهات إلى خادم المدير (NMS) بعنوان 192.168.10.100.
الخطوة الأولى: تفعيل SNMP وتعيين Community String (ملاحظة: هذا المثال يستخدم SNMPv2c للتوضيح، لكن في الإنتاج يجب استخدام SNMPv3).
```cisco R1(config)# snmp-server community MyReadOnlyPass RO R1(config)# snmp-server community MyReadWritePass RW ```
· RO تعني (Read-Only) للقراءة فقط. · RW تعني (Read-Write) للقراءة والكتابة.
الخطوة الثانية: تحديد خادم المدير (NMS) الذي سيستقبل التنبيهات
```cisco R1(config)# snmp-server host 192.168.10.100 version 2c MyReadOnlyPass ```
الخطوة الثالثة: تفعيل إرسال التنبيهات (Traps)
```cisco R1(config)# snmp-server enable traps ```
إعداد SNMPv3 (الأكثر أماناً):
```cisco R1(config)# snmp-server group ADMIN v3 priv R1(config)# snmp-server user AdminUser ADMIN v3 auth sha AuthPass123 priv aes 128 PrivPass123 ```
7.أوامر التحقق من SNMP
```cisco show snmp show snmp community show snmp user show snmp stats ```
· show snmp: يعرض حالة SNMP والإحصاءات العامة. · show snmp community: يعرض قوائم Community String (في v1 و v2c). · show snmp user: يعرض المستخدمين المعدين في SNMPv3.
8.تحدي Packet Tracer 🧪
تصميم الشبكة:
· راوتر R1. · سويتش S1. · خادم NMS (يمكن استخدام PC كمحاكاة).
المطلوب:
- اضبط عناوين IP الأساسية.
- فعّل SNMPv2c على الراوتر والسويتش باستخدام Community String.
- اضبط عنوان خادم NMS على الراوتر لتلقي التنبيهات.
- فعّل التنبيهات (Traps).
- استخدم show snmp للتحقق من الحالة.
- (إذا كان Packet Tracer يدعم ذلك) حاول إيقاف واجهة على السويتش وراقب هل يتم إرسال تنبيه.
ملاحظة: دعم SNMP في Packet Tracer قد يكون محدوداً في بعض الإصدارات. ركز على فهم الأوامر والمفاهيم.
9.اختبار الدرس 📝
السؤال الأول: ما هي المكونات الثلاثة الرئيسية لـ SNMP؟
السؤال الثاني: ما الفرق بين رسالة GET ورسالة TRAP؟
السؤال الثالث: ما المنفذان (Ports) اللذان يستخدمهما SNMP؟
السؤال الرابع: لماذا يعتبر SNMPv3 أكثر أماناً من SNMPv2c؟
السؤال الخامس — تحدي CCNA: لديك شبكة بها 50 راوتر. تريد التأكد من أنك تتلقى تنبيهاً فوراً إذا تعطلت أي واجهة. كيف ستستخدم SNMP لتحقيق ذلك؟
🎯 خلاصة الدرس
· SNMP بروتوكول لمراقبة وإدارة أجهزة الشبكة مركزياً. · المكونات: Manager (المدير)، Agent (الوكيل)، MIB (قاعدة البيانات). · رسائل SNMP: GET (طلب)، SET (تعديل)، TRAP (تنبيه تلقائي). · المنافذ: UDP 161 (استعلامات)، UDP 162 (تنبيهات). · الإصدارات: v1 (غير آمن)، v2c (غير مشفر)، v3 (آمن ومشفر). · أوامر التحقق: show snmp، show snmp user. · القاعدة الذهبية: استخدم SNMPv3 دائماً، وتأكد من حماية Community Strings.
#CCNA #SNMP #NetworkManagement #Cisco #Networking #Monitoring #هندسة_الشبكات
