المقدمة
يوضح هذا المستند كيفية تكوين بروتوكول إدارة شبكة بسيط (SNMP) ل Network Services Orchestrator (NSO).
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- تحميل تكوين SNMP في قاعدة بيانات تكوين NSO (CDB).
- تم إنشاء تنبيهات على NSO.
- أمر دعم "snmpwalk" على الخادم.
المكونات المستخدمة
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
تم إختبار التكوين والتحقق من صحته في نظام التشغيل CentOS 7. في Ubuntu 18.04، يكون الناتج مماثل لناتج CentOS، ولكن لا يتم توليد الإنذارات.
يمكن إيقاف خدمة SNMP المضمنة التي توفرها نظام التشغيل Linux:
[root@nso-recreate ~]# service snmpd status
Redirectin to /bin/systemctl status snmpd.service
snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
التكوين
في واجهة سطر أوامر NSO، انتقل إلى وضع التكوين وأدخل هذه التغييرات؛ تكوين SNMP النهائي هو:
admin@ncs# show running-config snmp
snmp agent enabled
snmp agent ip 0.0.0.0
snmp agent udp-port 4000
snmp agent version v1
snmp agent version v2c
snmp agent version v3
snmp agent engine-id enterprise-number 32473
snmp agent engine-id from-text testing
snmp agent max-message-size 50000
snmp system contact ""
snmp system name ""
snmp system location ""
snmp usm local user initial
auth sha password authpass
priv aes password privpass
!
snmp target monitor
ip 127.0.0.1
udp-port 162
tag [ monitor ]
timeout 1500
retries 3
v2c sec-name public
!
snmp community public
sec-name public
!
snmp notify foo
tag monitor
type trap
!
snmp vacm group initial
member initial
sec-model [ usm ]
!
access usm no-auth-no-priv
read-view internet
notify-view internet
!
access usm auth-no-priv
read-view internet
notify-view internet
!
access usm auth-priv
read-view internet
notify-view internet
!
!
snmp vacm group public
member public
sec-model [ v1 v2c ]
!
access any no-auth-no-priv
read-view internet
notify-view internet
!
!
snmp vacm view internet
subtree 1.3.6.1
included
!
!
snmp vacm view restricted
subtree 1.3.6.1.6.3.11.2.1
included
!
subtree 1.3.6.1.6.3.15.1.1
included
!
!
تكوينات إضافية
للتحقق من عمل SNMP، يمكنك إنشاء تنبيه والتحقق من التنبيه باستخدام show alarms alarm-list
:
admin@ncs# show alarms alarm-list
alarms alarm-list number-of-alarms 2
alarms alarm-list last-changed 2022-03-31T09:26:58.912259+00:00
alarms alarm-list alarm ios0 connection-failure /devices/device[name='ios0'] ""
is-cleared false
last-status-change 2022-03-31T09:26:58.912259+00:00
last-perceived-severity major
last-alarm-text "Failed to connect to device ios0: connection refused: NEDCOM CONNECT: Connection refused (Connection refused) in new state"
status-change 2022-03-31T09:26:58.912259+00:00
received-time 2022-03-31T09:26:58.912259+00:00
perceived-severity major
alarm-text "Failed to connect to device ios0: connection refused: NEDCOM CONNECT: Connection refused (Connection refused) in new state"
alarms alarm-list alarm jun0 connection-failure /devices/device[name='jun0'] ""
is-cleared false
last-status-change 2022-03-31T09:26:57.507969+00:00
last-perceived-severity major
last-alarm-text "Failed to connect to device jun0: connection refused"
status-change 2022-03-31T09:26:57.507969+00:00
received-time 2022-03-31T09:26:57.507969+00:00
perceived-severity major
alarm-text "Failed to connect to device jun0: connection refused"
التحقق من الصحة
للتحقق من صحة التكوينات، تحقق من إصدارات SNMP المختلفة:
ملاحظة: للحصول على الإخراج بالكامل، يمكنك إستخدام معرف فئة المورد (OID) .1.3.6.1. للحصول على الإنذار فقط، يمكنك إستخدام 1.3.6.1.4.1.
الإصدار 1
snmpWalk -v 1 -c عام 0.0.0.0:4000.1.3.6.1
snmpWalk -v 1 -c عام 0.0.0.0:4000.1.3.6.1.4.1
الإصدار 2
snmpWalk -v 2c -c عام 0.0.0.0:4000.1.3.6.1
snmpWalk -v 2c -c عام 0.0.0.0:4000.1.3.6.1.4.1
الإصدار 3
snmpwalk -on -v3 -a SHA -x AES -a 'authpass' -x 'privpass' -l 'authPriv' -u 'initial' 0.0.0:4000.1.3.6.1
snmpWalk -on -v3 -a SHA -x AES -a 'authpass' -x 'privpass' -l 'authPriv' -u 'initial' 0.0.0:4000.1.3.6.1.4.1
الناتج المتوقع ل snmpwalk
الأمر:
[root@nso-recreate ~]# snmpwalk -On -v3 -a SHA -x AES -A 'authpass' -X 'privpass' -l 'authPriv' -u 'initial' 0.0.0.0:4000 .1.3.6.1.4.1
.1.3.6.1.4.1.24961.2.103.1.1.1.0 = Gauge32: 2
.1.3.6.1.4.1.24961.2.103.1.1.2.0 = Hex-STRING: 07 E6 03 1F 09 1A 3A 09 2B 00 00
.1.3.6.1.4.1.24961.2.103.1.1.5.1.2.1 = STRING: "connection-failure"
.1.3.6.1.4.1.24961.2.103.1.1.5.1.2.2 = STRING: "connection-failure"
.1.3.6.1.4.1.24961.2.103.1.1.5.1.3.1 = STRING: "jun0"
.1.3.6.1.4.1.24961.2.103.1.1.5.1.3.2 = STRING: "ios0"
.1.3.6.1.4.1.24961.2.103.1.1.5.1.4.1 = STRING: "/ncs:devices/ncs:device[ncs:name='jun0']"
.1.3.6.1.4.1.24961.2.103.1.1.5.1.4.2 = STRING: "/ncs:devices/ncs:device[ncs:name='ios0']"
.1.3.6.1.4.1.24961.2.103.1.1.5.1.5.1 = OID: .0.0
.1.3.6.1.4.1.24961.2.103.1.1.5.1.5.2 = OID: .0.0
.1.3.6.1.4.1.24961.2.103.1.1.5.1.6.1 = ""
.1.3.6.1.4.1.24961.2.103.1.1.5.1.6.2 = ""
.1.3.6.1.4.1.24961.2.103.1.1.5.1.7.1 = ""
.1.3.6.1.4.1.24961.2.103.1.1.5.1.7.2 = ""
.1.3.6.1.4.1.24961.2.103.1.1.5.1.8.1 = INTEGER: 2
.1.3.6.1.4.1.24961.2.103.1.1.5.1.8.2 = INTEGER: 2
.1.3.6.1.4.1.24961.2.103.1.1.5.1.9.1 = Gauge32: 0
.1.3.6.1.4.1.24961.2.103.1.1.5.1.9.2 = Gauge32: 0
.1.3.6.1.4.1.24961.2.103.1.1.5.1.10.1 = Hex-STRING: 07 E6 03 1F 09 1A 39 05 2B 00 00
.1.3.6.1.4.1.24961.2.103.1.1.5.1.10.2 = Hex-STRING: 07 E6 03 1F 09 1A 3A 09 2B 00 00
.1.3.6.1.4.1.24961.2.103.1.1.5.1.11.1 = Hex-STRING: 07 E6 03 1F 09 1A 39 05 2B 00 00
.1.3.6.1.4.1.24961.2.103.1.1.5.1.11.2 = Hex-STRING: 07 E6 03 1F 09 1A 3A 09 2B 00 00
.1.3.6.1.4.1.24961.2.103.1.1.5.1.12.1 = INTEGER: 4
.1.3.6.1.4.1.24961.2.103.1.1.5.1.12.2 = INTEGER: 4
.1.3.6.1.4.1.24961.2.103.1.1.5.1.13.1 = INTEGER: 2
.1.3.6.1.4.1.24961.2.103.1.1.5.1.13.2 = INTEGER: 2
.1.3.6.1.4.1.24961.2.103.1.1.5.1.14.1 = STRING: "Failed to connect to device jun0: connection refused"
.1.3.6.1.4.1.24961.2.103.1.1.5.1.14.2 = STRING: "Failed to connect to
device ios0: connection refused: NEDCOM CONNECT: Connection refused (Connection refused) in new state"
أستكشاف المشاكل وإصلاحها
ومن بين القضايا المعروفة:
المهلة يمكن أن تحدث بسبب:
- تم إيقاف NSO
- المنفذ/IP المستخدم في الأمر غير صحيح
- اسم مستخدم غير معروف (v3 فقط)
اسم المستخدم المقترن خاطئ/غير صحيح، القيمة بعد المعلمة "-u"
- لا يتوفر هذا الكائن على هذا العامل في معرف المستخدم (OID) هذا
لم يتم تعيين المستخدم الأولي إلى أي مجموعة. إضافة أحد الخيارات:
مسؤول المستخدم المحلي ل SNMP USM
كلمة مرور المصادقة ....
كلمة مرور priv aes ....
أو
اسم المستخدم الخاص بمجموعة NACM [عام أولي]