المقدمة
يوضح هذا المستند كيفية إستثناء OID في تكوين Nexus 5k و 7k و 9k في الإصدار 2 و 3 من SNMP.
المتطلبات الأساسية
المتطلبات
cisco يوصي أن يتلقى أنت معرفة من هذا موضوع قبل أن ينفذ معرف الكائن (OID) إستثناء:
- التعرف على بروتوكول إدارة الشبكات البسيط (SNMP)
- الوصول إلى وضع تكوين الجهاز
- فهم معرفات الأجهزة الأصلية المراد إستبعادها
- فهم مجتمع SNMP وتكوينات المستخدم
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إختبار Lab مع نماذج Nexus هذه:
- Nexus 5k
- Nexus 7k
- Nexus 9k
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
في عالم بروتوكول SNMP، غالبا ما تواجه حالات حيث يواجه تحليل شجرة قاعدة معلومات الإدارة (MIB) عقبات، مما يؤدي إلى التوقف عند أجهزة OID معينة في بعض الأحيان إلى فترات انتهاء المهلة الزمنية للنافذة أو حدوث مشاكل مشابهة. وينشأ تحد مشترك آخر عندما يؤدي إستطلاع مستمر لمعرف خارجي مزعج إلى إطلاق تنبيهات ليست ضرورية ولا مؤثرة. إحدى الطرق الممكنة للتخلص من هذه الأنواع من السيناريوهات هي إنشاء استبعادات، وإرشاد الجهاز لتخطي معرف فئة المورد (OID) المحدد ومتابعة تنفيذ باقي بنية قاعدة معلومات الإدارة. من خلال توجيه الجهاز لتجاوز معرف فئة المورد (OID) المزعج ومتابعة العمل مع باقي بنية قاعدة معلومات الإدارة (MIB)، يمكنك تعزيز تدفق سلس لشجرة قاعدة معلومات الإدارة (MIB).
ملاحظة: من المهم ملاحظة أن هذا الاستبعاد يمكن أن يؤثر على كيفية قراءة البيانات من شجرة قاعدة معلومات الإدارة. توخ الحذر وتأكد من ضرورة OID قبل متابعة تنفيذ هذه الاستثناءات.
في حين أن إستبعاد OIDs بشكل خاص يتبع عملية مباشرة في أجهزة مثل تراكم خدمات مسحاج تخديد (ASR)/ مادة حفازة مفتاح (CAT)/مادة حفازة مسحاج تخديد الخدمة المتكاملة (ISR)، فإن التصفح هذا التحدي في أجهزة Nexus يثبت أن يكون أكثر تعقيدا بسبب غياب عرض. تدخل هذه المقالة في نهج مبتكر من خلال تقديم الأدوار وتخطيطها للمجتمع/المستخدم، مما يقدم حلا لاستبعاد معرفات الأجهزة الأصلية في تكوينات SNMP v2 و v3 على الأجهزة Nexus 5k و 7k و 9k.
الخطوات الأساسية
وضع التكوين للوصول:
#conf t
تعريف دور إستثناء OID:
#role name <name_of_role>
#rule 1 permit read feature snmp
#rule 2 deny {read/ read-write} oid <oid_you_want_to_exclude>
تلميح: يسمح لك {read/read-write} بالاختيار بين عمليات SNMP 'read' و'read-write'. تتضمن عمليات "القراءة" عادة إسترداد المعلومات، بينما تتضمن عمليات "القراءة والكتابة" كلا من إسترداد المعلومات وتعديلها. يمكنك إختيار القراءة/القراءة والكتابة وفقا لتفضيلاتك.
إنهاء وضع التكوين:
#exit
تطبيق التكوين على مجتمع/مستخدم SNMP.
بالنسبة للإصدار الثاني من بروتوكول إدارة شبكة الاتصال البسيط:
#snmp-server community <name_of_community_you_want_to_map> group <name_of_role>
ل SNMPv3:
#snmp-server user <user_to_map_with> <name_of_role> auth {sha/md5} <authentication_password> priv {aes/des} <priv_password>
التكوين
ملاحظة: يتضمن هذا المثال إستبعاد OID 1.3.6.1.2.1.2.1.3 (ifType). تأكد من إستبدال معرف فئة المورد (OID) ifType بمعرف فئة المورد (OID) الذي تريد إستبعاده.
تعريف دور لاستبعاد OID IfType:
switch#
switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# role name deny_oid
switch(config-role)# rule 1 permit read feature snmp
switch(config-role)# rule 2 deny read oid 1.3.6.1.2.1.2.2.1.3
switch(config-role)# exit
switch(config)# exit
switch# sh role name deny_oid
Role: deny_oid
Description: new role
Vlan policy: permit (default)
Interface policy: permit (default)
Vrf policy: permit (default)
-------------------------------------------------------------------
Rule Perm Type Scope Entity
-------------------------------------------------------------------
2 deny read oid 1.3.6.1.2.1.2.2.1.3
1 permit read feature snmp
switch#
إنشاء مجتمع SNMPv2 مع deny_oid دور:
switch(config)# snmp-server community snmpv2user group deny_oid switch(config)# exit switch# sh snmp community Community Group / Access context acl_filter _________ ______________ _______ __________ snmpv2user deny_oid switch#
إنشاء مستخدم SNMPv3 مع دور deny_oid:
switch# config t Enter configuration commands, one per line. End with CNTL/Z. switch(config)# snmp-server user snmpv3user deny_oid auth sha password!123 priv ? WORD Privacy password for user (Max Size 134) switch(config)# snmp-server user snmpv3user deny_oid auth sha password!123 priv password!123 switch(config)# do sh snmp user ______________________________________________________________ SNMP USERS ______________________________________________________________ User Auth Priv(enforce) Groups acl_filter ____ ____ _____________ ______ __________ admin md5 aes-128(no) network-admin snmpv3user sha aes-128(no) deny_oid ______________________________________________________________ NOTIFICATION TARGET USERS (configured for sending V3 Inform) ______________________________________________________________ User Auth Priv ___ ____ ____ switch(config)#
التحقق
ملاحظة: تم إستخدام 'إصدار تجريبي' لمستخدم الاختبار للتحقق من التحقق من OID ل IFtype. تم تعيين بقية المستخدمين مع دور deny_oid ولم يظهر أي بيانات ل ifType OID كما هو موضح.
المشي عبر بروتوكول إدارة الشبكات البسيط (SNMP) دون إستبعاد:
ملاحظة: يتم إستخدام a.b.c.d بدلا من عنوان IP الخاص بالجهاز في المادة بالكامل.
[root@user ~]# snmpwalk -v2c -c trial a.b.c.d 1.3.6.1.2.1.2.2.1.3 IF-MIB::ifType.83886080 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436207616 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436208128 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436208640 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436209152 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436209664 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436210176 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436210688 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436211200 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436211712 = INTEGER: ethernetCsmacd(6) ^C
SNMPwalk ل SNMPv2 مع OID المستبعد:
[root@user ~]# snmpwalk -v2c -c snmpv2user a.b.c.d 1.3.6.1.2.1.2.2.1.3 IF-MIB::ifType = No Such Object available on this agent at this OID
ملاحظة: تم إنشاء مستخدم جديد 'trialv3' من أجل توضيح الاستطلاعات دون إستبعاد معرف المستخدم.
SNMPwalk بدون إستثناء معرف المستخدم:
[root@user ~]# snmpwalk -v3 -u trialv3 -l authPriv -a sha -A 'password!123' -x aes -X 'password!123' a.b.c.d 1.3.6.1.2.1.2.2.1.3 IF-MIB::ifType.83886080 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436207616 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436208128 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436208640 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436209152 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436209664 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436210176 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436210688 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436211200 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436211712 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.436212224 = INTEGER: ethernetCsmacd(6) ^C [root@user ~]#
SNMPwalk لمستخدم SNMPv3 مع معرف فريد مستبعد:
[root@user ~]# snmpwalk -v3 -u snmpv3user -l authPriv -a sha -A 'password!123' -x aes -X 'password!123' a.b.c.d 1.3.6.1.2.1.2.2.1.3 IF-MIB::ifType = No Such Object available on this agent at this OID [root@user ~]#