يوضح هذا المستند كيفية نقل ملفات التكوين وصور برامج النظام بين محول ما باستخدام نظام التشغيل Catalyst Operating Systems (CatOS) وخادم بروتوكول نقل الملفات المبسط (TFTP) على UNIX باستخدام بروتوكول إدارة الشبكة البسيط (SNMP).
دققت أن أنت يستطيع أزيز العنوان من ال TFTP نادل من المادة حفازة مفتاح:
Cat6509> (enable) ping 171.68.191.135 !!!!! ----171.68.191.135 PING Statistics---- 5 packets transmitted, 5 packets received, 0% packet loss round-trip (ms) min/avg/max = 2/2/2
وهذه الإجراءات هي:
لا ينطبق على محولات Catalyst التي تستند إلى برنامج Cisco IOS®، مثل السلسلة Catalyst 2900/3500XL.
لا ينطبق على الوحدات النمطية Catalyst 6000 Series MSFC و MSFC2 مع برنامج Cisco IOS.
غير قابل للتطبيق إذا لم يتم تكوين سلسلة مجتمع قراءة-كتابة SNMP أو التعرف عليها على المحول. ارجع إلى كيفية تكوين سلاسل مجتمع SNMP للإجراء التفصيلي حول كيفية تكوين سلاسل مجتمع SNMP.
استنادا إلى صياغة سطر الأوامر لأدوات مساعدة NET-SNMP (المعروفة سابقا باسم UCD-SNMP). إذا كان لديك بعض تطبيقات SNMP الأخرى، مثل Open View من HP أو NetView، فقد تختلف الصياغة عن هذه الأمثلة.
استنادا إلى Cisco-stack-MIB، والذي يتم دعمه بواسطة نظام تشغيل Catalyst منذ إصدار برنامج الوحدة النمطية للمشرف الأولي. ارجع إلى قواعد معلومات الإدارة (MIB) المدعومة بواسطة صفحة المنتج على Cisco.com للتحقق من أن المحول لديك يدعم Cisco-STACK-MIB. يتم إستخدام كائنات قاعدة معلومات الإدارة هذه من قاعدة معلومات الإدارة هذه:
اسم كائن MIB | OID |
tftpHost | .1.3.6.1.4.1.9.5.1.5.1 |
tftpFile | .1.3.6.1.4.1.9.5.1.5.2 |
tftpModule | .1.3.6.1.4.1.9.5.1.5.3 |
tftpAction | .1.3.6.1.4.1.9.5.1.5.4 |
tftpResult | .1.3.6.1.4.1.9.5.1.5.5 |
راجع الملحق (أ) للحصول على مزيد من المعلومات حول عناصر قاعدة معلومات الإدارة (MIB) هذه مع التعريفات.
أسست المعلومة في هذا وثيقة على المفتاح أن يركض فقط مادة حفازة os برمجية.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
في كل الأمثلة، يتم إستخدام هذه القيم للتوضيح:
المحول Catalyst 6509 switch بنظام التشغيل CatOS
172.16.99.66 = عنوان من المادة حفازة 6509 مفتاح
خاص = سلسلة مجتمع قراءة-كتابة SNMP. أستخدم سلسلة القراءة-الكتابة التي تم تكوينها على المحول لديك. تحقق من ذلك باستخدام الأمر show snmp على واجهة سطر الأوامر (CLI) للمحول.
عامة = سلسلة مجتمع قراءة SNMP فقط. أستخدم سلسلة القراءة فقط التي تم تكوينها على المحول لديك. تحقق من ذلك باستخدام الأمر show snmp على واجهة سطر الأوامر (CLI) للمحول.
171.68.191.135 = عنوان IP الخاص بخادم TFTP
هذه هي الصياغة لأوامر snmpset وsnmpwalk في الأمثلة التالية:
snmpset [options...] <hostname> {<community>} [<objectID> <type> <value> ...] snmpwalk [options...] <hostname> {<community>} [<objectID>]
راجع اصطلاحات تلميحات Cisco التقنية للحصول على مزيد من المعلومات حول اصطلاحات المستندات.
ترشدك هذه الخطوات خلال عملية نسخ ملف تكوين.
أكمل الخطوات التالية:
قم بإنشاء ملف جديد، switch-config، في دليل TFTP server /tftpboot. في UNIX، أستخدم هذه الصياغة: لمس <اسم الملف>.
touch switch-config
تغيير أذونات الملف إلى 777. أستخدم هذه الصياغة: chmod <permissions> <filename> .
chmod 777 switch-config
قم بتعريف عنوان IP الخاص بخادم TFTP باستخدام كائن قاعدة معلومات الإدارة (MIB) TFTPhost:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 enterprises.9.5.1.5.1.0 = "171.68.191.135"
قم بتعريف اسم ملف TFTP الذي ستستخدمه لنسخ التكوين، باستخدام كائن قاعدة معلومات الإدارة (MIB) tftpFile:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s switch-config enterprises.9.5.1.5.2.0 = switch-config
حدد الوحدة النمطية على المحول Catalyst switch حيث سيتم تسليم التكوين، باستخدام كائن قاعدة معلومات الإدارة (MIB) ل TFTPmodule. حدد الوحدة النمطية Supervisor Module (المشرف) وليس وحدة MSFC أو MSFC2، وإلا ستفشل. تحقق من رقم الوحدة النمطية الصحيح للأمر snmpset باستخدام الأمر show module على واجهة سطر الأوامر (CLI) للمحول. المخرج النموذجي هو:
Mod Slot Ports Module-Type Model Sub Status --- ---- ----- ------------------------- ------------------- --- -------- 2 2 2 1000BaseX Supervisor WS-X6K-SUP1A-2GE yes ok 16 2 1 Multilayer Switch Feature WS-F6K-MSFC no OK .... --<snip>--
في إخراج النموذج، يكون رقم وحدة المشرف النمطية هو 2 وفي الفتحة رقم 2. أستخدم 2 لتحديد كائن قاعدة معلومات الإدارة TFTPmodule:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 enterprises.9.5.1.5.3.0 = 2
أستخدم كائن قاعدة معلومات الإدارة TFTPaction لتحديد ملف تكوين المحول الذي سيتم نقله من خادم TFTP إلى المحول مع قيمة كائن قاعدة معلومات الإدارة (MIB) 2 = downloadConfig. راجع تفاصيل كائن قاعدة معلومات الإدارة (MIB) في الملحق أ:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 2 enterprises.9.5.1.5.4.0 = 2
للتحقق من نتائج هذه العمليات، قم بتنفيذ إحدى الخطوات التالية:
قم باستطلاع كائن قاعدة معلومات الإدارة (MIB) tftpGRP (.1.3.6.1.4.1.9.5.1.5) وقارن النتائج مع الملحق أ:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 enterprises.9.5.1.5.1.0 = "171.68.191.135" !--- IP address of the TFTP server enterprises.9.5.1.5.2.0 = "switch-config" !--- name of the switch configuration file enterprises.9.5.1.5.3.0 = 2 !--- Module number. In this case, Supervisor module enterprises.9.5.1.5.4.0 = 2 !--- TFTP action. 2 = Download configuration from TFTP server to the switch enterprises.9.5.1.5.5.0 = 2 !--- Result of the TFTP action, 2 = Success
استعرض كائن قاعدة معلومات الإدارة (MIB) TFTPresult وقارن الإخراج بتفاصيل كائن قاعدة معلومات الإدارة (MIB) في الملحق أ:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 enterprises.9.5.1.5.5.0 = 2 !--- Result of the TFTP action, 2 = Success
إذا تم التنزيل بنجاح، فإن إخراج كائن قاعدة معلومات الإدارة يساوي 2 (أو نجاح). إذا إستلمت بعض المخرجات الأخرى، قارنها مع الملحق أ لكائن TFTPresult واتخذ الخطوات المناسبة.
ترشدك هذه الخطوات خلال عملية نسخ ملف تكوين.
أكمل الخطوات التالية:
قم بإنشاء ملف جديد، switch-config، في دليل TFTP server /tftpboot. في UNIX، أستخدم هذه الصياغة: لمس <اسم الملف>.
touch switch-config
قم بتغيير أذونات الملف إلى 777 باستخدام هذه الصياغة: أوامر <الأذونات><اسم الملف>.
chmod 777 switch-config
قم بتعريف عنوان IP الخاص بخادم TFTP باستخدام كائن قاعدة معلومات الإدارة (MIB) TFTPhost. الصياغة هي:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 enterprises.9.5.1.5.1.0 = "171.68.191.135"
قم بتعريف اسم ملف TFTP الذي ستستخدمه لنسخ التكوين، باستخدام كائن قاعدة معلومات الإدارة (MIB) tftpFile:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s switch-config enterprises.9.5.1.5.2.0 = switch-config
حدد الوحدة النمطية على المحول Catalyst switch حيث سيتم تسليم التكوين، باستخدام كائن قاعدة معلومات الإدارة (MIB) ل TFTPmodule. حدد الوحدة النمطية Supervisor Module (المشرف) وليس وحدة MSFC أو MSFC2، وإلا ستفشل. تحقق من رقم الوحدة النمطية الصحيح للأمر snmpset باستخدام الأمر show module على واجهة سطر الأوامر (CLI) للمحول. المخرج النموذجي هو:
Mod Slot Ports Module-Type Model Sub Status --- ---- ----- ------------------------- ------------------- --- -------- 2 2 2 1000BaseX Supervisor WS-X6K-SUP1A-2GE yes ok 16 2 1 Multilayer Switch Feature WS-F6K-MSFC no OK .... --<snip>--
في إخراج النموذج، يكون رقم وحدة المشرف النمطية هو 2 وفي الفتحة رقم 2. أستخدم 2 لتحديد كائن قاعدة معلومات الإدارة (MIB) tftpModule:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 enterprises.9.5.1.5.3.0 = 2
أستخدم كائن قاعدة معلومات الإدارة (MIB) tftpAction لتحديد أنه سيتم نقل ملف تكوين المحول من خادم TFTP إلى المحول مع قيمة كائن قاعدة معلومات الإدارة (MIB) التي تبلغ 3 = uploadConfig. راجع تفاصيل كائن قاعدة معلومات الإدارة (MIB) في الملحق أ:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 3 enterprises.9.5.1.5.4.0 = 3
للتحقق من نتائج هذه العمليات، قم بتنفيذ إحدى الخطوات التالية:
قم باستطلاع كائن قاعدة معلومات الإدارة (MIB) tftpGRP (.1.3.6.1.4.1.9.5.1.5) وقارن النتائج مع الملحق أ:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 enterprises.9.5.1.5.1.0 = "171.68.191.135" !--- IP address of the TFTP server enterprises.9.5.1.5.2.0 = "switch-config" !--- name of the switch configuration file enterprises.9.5.1.5.3.0 = 2 !--- Module number. In this case, Supervisor module enterprises.9.5.1.5.4.0 = 1 !--- TFTP action enterprises.9.5.1.5.5.0 = 2 !--- Result of the TFTP action, 2 = Succes
استعرض كائن قاعدة معلومات الإدارة (MIB) TFTPresult وقارن الإخراج بتفاصيل كائن قاعدة معلومات الإدارة (MIB) في الملحق أ:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 enterprises.9.5.1.5.5.0= 2 !--- Result of the TFTP action, 2 = Success
إذا تم التنزيل بنجاح، فإن إخراج كائن قاعدة معلومات الإدارة يساوي 2 (أو نجاح). إذا إستلمت بعض المخرجات الأخرى، قارنها مع الملحق أ لكائن TFTPresult واتخذ الخطوات المناسبة.
ملاحظة: يقوم هذا الإجراء بنقل كل من التكوينات الافتراضية وغير الافتراضية من المحول، كما هو موضح في إخراج الأمر show config all على واجهة سطر الأوامر (CLI) للمحول في وضع التمكين. يعرض الأمر show config على المحول التكوينات غير الافتراضية فقط.
ترشدك هذه الخطوات خلال عملية نسخ صورة برنامج.
أكمل الخطوات التالية:
قم بتنزيل ملف صورة المشرف الصحيح ووضعه في دليل /tftpboot على خادم TFTP. في هذا المثال، يتم إستخدام cat6000-sup.5-4-2a.bin للتوضيح.
قم بتغيير أذونات الملف إلى 777 باستخدام هذه الصياغة: أوامر <الأذونات><اسم الملف>.
chmod 777 cat6000-sup.5-4-2a.bin
قم بتعريف عنوان IP الخاص بخادم TFTP الذي يستخدم كائن قاعدة معلومات الإدارة (MIB) TFTPhost:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 enterprises.9.5.1.5.1.0 = "171.68.191.135"
قم بتعريف اسم ملف TFTP الذي ستستخدمه لنسخ ملف الصورة:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s cat6000-sup.5-4-2a.bin enterprises.9.5.1.5.2.0 = "cat6000-sup.5-4-2a.bin"
في هذا المثال، يكون رقم وحدة المشرف النمطية هو 2 وفي الفتحة رقم 2 كما هو موضح في إخراج الأمر show module. أستخدم 2 لتحديد كائن قاعدة معلومات الإدارة TFTPmodule:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 enterprises.9.5.1.5.3.0 = 2
وهذا يعني أن صورة CatOS الموجودة في دليل /tftpboot على خادم TFTP يتم نقلها إلى وحدة المشرف النمطية flash كما هو موضح في إخراج الأمر show flash.
أستخدم كائن قاعدة معلومات الإدارة TFTPaction لتحديد نقل ملف الصورة من خادم TFTP إلى المحول مع قيمة كائن قاعدة معلومات الإدارة (MIB) التي تبلغ 4 = downloadSw. راجع تفاصيل كائن قاعدة معلومات الإدارة (MIB) في الملحق أ:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 4 enterprises.9.5.1.5.4.0 = 4
للتحقق من نتائج هذه العمليات، قم بتنفيذ إحدى الخطوات التالية:
قم باستطلاع كائن قاعدة معلومات الإدارة (MIB) tftpGRP (.1.3.6.1.4.1.9.5.1.5) وقارن النتائج مع الملحق أ:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 enterprises.9.5.1.5.1.0 = "171.68.191.135" !--- IP address of the TFTP server enterprises.9.5.1.5.2.0 = "cat6000-sup.5-4-2a.bin" !--- name of the switch image file enterprises.9.5.1.5.3.0 = 0 enterprises.9.5.1.5.4.0 = 4 !--- TFTP action, 4 = downloadSw enterprises.9.5.1.5.5.0 = 1 !--- Result of the TFTP action, 1 = In Process
ملاحظة: يوضح الإدخال الأخير أن عملية نقل الصور قيد التنفيذ. انتظر بضع دقائق، ثم استعرض كائن قاعدة معلومات الإدارة TFTPresult مرة أخرى للتحقق من أنه قد تم نقله بنجاح. قد تستغرق هذه الخطوة بضع دقائق للاكتمال، وهذا يعتمد على حجم ملف الصورة (بالبايت). بينما تكون عملية نقل الصورة قيد التنفيذ، إذا قمت بإصدار أمر show flash على المحول، فسترى:
Cat6509> (enable) show flash TFTP session in progress. Try again later.
استعرض كائن قاعدة معلومات الإدارة (MIB) TFTPresult وقارن الإخراج بتفاصيل كائن قاعدة معلومات الإدارة (MIB) في الملحق أ:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 enterprises.9.5.1.5.5.0 = 2 !--- Result of the TFTP action, 2 = Success
إذا تم التنزيل بنجاح، فإن إخراج كائن قاعدة معلومات الإدارة يساوي 2 (أو نجاح). إذا إستلمت مخرجات أخرى، فقارنها مع الملحق أ لكائن TFTPresult واتخذ الخطوات المناسبة.
بمجرد اكتمال نقل الصورة بنجاح، تحقق من تطابق حجم ملف الصورة (بالبايت) مع ما يظهر في الأمر show flash على الملف الموجود في خادم TFTP (cat6000-sup.5-4-2a.bin، في هذا المثال).
ترشدك هذه الخطوات خلال عملية نسخ صورة برنامج.
أكمل الخطوات التالية:
قم بإنشاء صورة ملف جديدة.bin في دليل /tftpboot الخاص بخادم TFTP. في UNIX، أستخدم هذه الصياغة: لمس <اسم الملف>. استعملت .bin كالملف ملحق.
touch image.bin
قم بتغيير أذونات الملف إلى 777 باستخدام الصياغة: أوامر <الأذونات><اسم الملف>.
chmod 777 image.bin
تحديد عنوان IP الخاص بخادم TFTP باستخدام كائن قاعدة معلومات الإدارة TFTPhost :
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.1.0 s 171.68.191.135 enterprises.9.5.1.5.1.0 = "171.68.191.135"
قم بتعريف اسم ملف TFTP الذي ستستخدمه لنسخ ملف الصورة باستخدام كائن قاعدة معلومات الإدارة TFTP :
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.2.0 s image.bin enterprises.9.5.1.5.2.0 = "image.bin"
في هذا المثال، يكون رقم وحدة المشرف النمطية هو 2 وفي الفتحة رقم 2 كما هو موضح في إخراج الأمر show module. أستخدم 2 لتحديد كائن قاعدة معلومات الإدارة (MIB) tftpModule:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.3.0 i 2 enterprises.9.5.1.5.3.0 = 2
هذا يعني أن CatOS صورة أن يركض على المشرف وحدة نمطية في برق نقلت إلى ال TFTP نادل كما يرى في الإنتاج من العرض برق أمر.
أستخدم كائن قاعدة معلومات الإدارة (MIB) tftpAction لتحديد نقل ملف الصورة من خادم TFTP إلى المحول ذي قيمة كائن قاعدة معلومات الإدارة (MIB) 5 = uploadSw. راجع تفاصيل كائن قاعدة معلومات الإدارة (MIB) في الملحق أ:
% snmpset 172.16.99.66 private .1.3.6.1.4.1.9.5.1.5.4.0 i 5 enterprises.9.5.1.5.4.0 = 5
للتحقق من نتائج هذه العمليات، قم بتنفيذ إحدى الخطوات التالية:
قم باستطلاع كائن قاعدة معلومات الإدارة (MIB) tftpGRP (.1.3.6.1.4.1.9.5.1.5) وقارن النتائج مع الملحق أ:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5 enterprises.9.5.1.5.1.0 = "171.68.191.135" !--- IP address of the TFTP server enterprises.9.5.1.5.2.0 = "image.bin" !--- name of the switch image file enterprises.9.5.1.5.3.0 = 2 !--- Module number. In this case, Supervisor module enterprises.9.5.1.5.4.0 = 5 !--- TFTP action, 5 = uploadSw enterprises.9.5.1.5.5.0 = 1 !--- Result of the TFTP action, 1 = In Process
ملاحظة: يوضح الإدخال الأخير أن عملية نقل الصور قيد التنفيذ. انتظر لبضع دقائق ثم استعرض كائن قاعدة معلومات الإدارة TFTPresult مرة أخرى للتحقق من أنه قد تم نقله بنجاح. قد تستغرق هذه الخطوة بضع دقائق للاكتمال، وهذا يعتمد على حجم ملف الصورة (بالبايت).
استعرض كائن قاعدة معلومات الإدارة (MIB) TFTPresult وقارن الإخراج بتفاصيل كائن قاعدة معلومات الإدارة (MIB) في الملحق أ:
% snmpwalk 172.16.99.66 public .1.3.6.1.4.1.9.5.1.5.5 enterprises.9.5.1.5.5.0 = 2 --> Result of the TFTP action, 2 = Success
إذا تم التنزيل بنجاح، فإن إخراج كائن قاعدة معلومات الإدارة يساوي 2 (أو نجاح). إذا إستلمت مخرجات أخرى، فقارنها مع الملحق أ لكائن TFTPresult واتخذ الخطوات المناسبة.
بمجرد اكتمال نقل الصورة بنجاح، تحقق من تطابق حجم ملف الصورة (بالبايت) الذي يتم عرضه في إخراج الأمر show flash إلى الملف الموجود في خادم TFTP (image.bin، في هذا المثال).
ملاحظة: إذا كانت لديك صور متعددة في ذاكرة Flash (show flash)، يتم نقل الصورة التي تم تمهيد الوحدة النمطية للمشرف منها فقط إلى خادم TFTP باستخدام هذا الإجراء. أستخدم الأمر show boot لعرض متغير التمهيد =، الذي يظهر الصورة من الذاكرة المؤقتة (flash) التي يتم إستخدامها من قبل وحدة المشرف النمطية للتمهيد. راجع ترقية صور البرامج والعمل باستخدام ملفات التكوين على محولات Catalyst للحصول على مزيد من المعلومات.
ملاحظة: يتم توفير هذه البرامج النصية كأمثلة فقط ولا تدعمها Cisco Systems بأي طريقة.
برنامج نصي لأتمتة ملف التكوين وترحيل Cisco IOS على المحولات
#!/bin/sh # Script to automate config file & IOS migration of switches # supporting STACK-MIB including 5000, 5500, 1400, 2900, 1200 if [ ! -f SW ] ; then echo echo "File SW does not exist!!!" echo echo "Syntax is 'switch.sh'" echo "where each line in file SW lists:" echo "Switchname Filename Serverip Module# Moduleaction Community" echo echo "Switchname must resolve" echo "Filename must exist in server tftpboot directory 777" echo "Serverip is the ip of the server for the file" echo "Module# is usually '1'" echo "Module action is as per STACK-MIB: " echo "- 2 - config file - server > switch" echo "- 3 - config file - switch > server" echo "- 4 - software image - server > switch" echo "- 5 - software image - switch > server" echo "Community is *write* community" echo exit fi cat SW | while read SW do SWNAME=\Qecho $SW | cut -d' ' -f 1\Q FILE=\Qecho $SW | cut -d' ' -f 2\Q SERVER=\Qecho $SW | cut -d' ' -f 3\Q MODULE=\Qecho $SW | cut -d' ' -f 4\Q ACTION=\Qecho $SW | cut -d' ' -f 5\Q CMTY=\Qecho $SW | cut -d' ' -f 6\Q echo echo $SWNAME echo $FILE echo $SERVER echo $MODULE echo $ACTION echo $CMTY echo # '-t #' can be modified to adjust timeout snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.1.0 octetstring $SERVER sleep 5 snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.2.0 octetstring $FILE sleep 5 snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.3.0 integer $MODULE sleep 5 snmpset -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.4.0 integer $ACTION sleep 60 echo echo Check Progress... echo echo echo "Switch $SWNAME: \\c"; snmpget -t 100 -c $CMTY $SWNAME .1.3.6.1.4.1.9.5.1.5.5.0 | cut -d":" -f 3 done
توقع المحول من البرنامج النصي تنفيذ أمر معين على المحول
#!/usr/nms/bin/expect # Above line points to your expect interpreter # Add '-d' option to expect line above to enable debugging # Tested on Cat5000 with regular login; no error-checking # except for number arguments, but will timeout on failure. # Tacacs+ lines left in for future releases set argc [llength $argv] if { $argc < 4} { puts "Syntax is:" puts "(For system with no Tac+)" puts "switch.exp destination \"command\" vtypassword enapassword" exit 0 } set destination [lindex $argv 0] puts -nonewline "Where we're going: " puts $destination set command [lindex $argv 1] puts -nonewline "What we're doing: " puts $command set vtypassword [lindex $argv 2] puts -nonewline "What our password is (vty): " puts $vtypassword set enapassword [lindex $argv 3] puts -nonewline "What our password is (enable): " puts $enapassword # username only for Tac+ set username [lindex $argv 4] puts -nonewline "What our username is if Tac+: " puts $username # set timeout 10 spawn telnet $destination expect { "Enter password:" { send "$vtypassword\r" } "Username:" { send "$username\r" exec sleep 1 expect "Password:" send "$vtypassword\r" } } # Look for non-enable router 'prompt>' expect -re "(^.*)(\r\n\[^ \]+> \$)" # Get into enable mode send "en\r" expect { "password: " { send "$enapassword\r" } "Username:" { send "$username\r" exec sleep 1 expect "Password:" send "$enapassword\r" } } # Look for enable router 'prompt#' expect -re "(^.*)(\r\n\[^ \]+(enable) \$)" # Send the command send "$command\r" expect { -re "(^.*)(\r\n\[^ \]+ (enable) \$)" { append buffer $expect_out(1,string) } -re "(^.*)(\r\n\ --More-- \$)" { append buffer $expect_out(1,string) send " " } -re "(^.*)(\r\n\ --More-- \$)" { append buffer $expect_out(1,string) send " " } } # Done with command - disable prior to exit send "disable\r" expect -re "(^.*)(\r\n\[^ \]+> \$)" exec sleep 1 send "logout"
نص Perl النصي لإظهار نفس الإخراج من خلال SNMP مثل "show cam dynamic"
#!/usr/local/bin/perl open(TABLE, "bridge-table.csv") || die "Cant' open file: $!\n"; while (<TABLE>) { ($vlan, $unicast_mac, $mod_ports) = split (/,/, $_); write; } exit; format STDOUT = set cam permanent @<<<<<<<<<<<<<<<<<< @<<< @< $unicast_mac, $mod_ports, $vlan
كائن | tftpHost |
OID | .1.3.6.1.4.1.9.5.1.5.1 |
النوع | سلسلة العرض |
إذن | قراءة-كتابة |
بناء جملة | سلسلة النظام الثماني (0..64) |
الحالة | متداولي |
MIB | Cisco-STACK-MIB |
الوصف | اسم مضيف المصدر/الوجهة لنقل جهاز التخزين أو TFTP. إذا كان الاسم لنقل TFTP، فقد يكون عنوان IP أو اسم المضيف. إذا كان اسم نقل جهاز التخزين، فهو بتنسيق deviceName: (على سبيل المثال slot0:، slot1:) |
OID في الشجرة | ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprise(1) cisco(9) workgroup(5) ciscoStackMIB(1) tftpGrp(5) 1 } |
كائن | tftpFile |
OID | .1.3.6.1.4.1.9.5.1.5.2 |
النوع | سلسلة العرض |
إذن | قراءة-كتابة |
بناء جملة | سلسلة النظام الثماني (0..64) |
الحالة | متداولي |
MIB | Cisco-STACK-MIB |
الوصف | اسم الملف لنقل TFTP أو لنقل جهاز التخزين. |
OID في الشجرة | ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprise(1) cisco(9) workgroup(5) ciscoStackMIB(1) tftpGrp(5) 2 } |
كائن | tftpModule |
OID | .1.3.6.1.4.1.9.5.1.5.3 |
النوع | عدد صحيح |
إذن | قراءة-كتابة |
الحالة | متداولي |
مدى | 0 - 16 |
MIB | Cisco O-STACK-MIB |
الوصف | كود/تكوين الوحدة النمطية الذي يتم نقله. |
OID في الشجرة | ::= { ISO(1) org(3) DOD(6) Internet(1) Private(4) Enterprise(1) Cisco(9) Workgroup(5) CiscoStackMIB(1) TFTPgrp(5) 3 } |
كائن | tftpAction |
OID | .1.3.6.1.4.1.9.5.1.5.4 |
النوع | عدد صحيح |
إذن | قراءة-كتابة |
الحالة | متداولي |
القيم |
|
MIB | Cisco-STACK-MIB |
الوصف | إذا قمت بتعيين هذا الكائن إلى إحدى القيم المقبولة، فإنه يبدأ الإجراء المطلوب باستخدام المعلومات الواردة في tftpHost، و tftpFile، و tftpModule. downloadConfig(2): إستقبال التكوين من المضيف/تحميل الملف Config(3): إرسال التكوين إلى المضيف/تنزيل الملف SW(4): إستقبال صورة البرنامج من المضيف/تحميل الملف Sw(5): إرسال صورة البرنامج إلى المضيف/تنزيل الملف(6): إستلام صورة البرنامج الثابت من المضيف/تحميل الملف Fw(7): إرسال صورة البرنامج الثابت إلى المضيف/الملف إلى المضيف/الملف إذا قمت بتعيين هذا الكائن إلى أي قيمة أخرى، فستحصل على خطأ. |
OID في الشجرة | ::= { ISO(1) org(3) DOD(6) Internet(1) Private(4) Enterprise(1) Cisco(9) Workgroup(5) CiscoStackMIB(1) TFTPgrp(5) 4 } |
كائن | tftpResult |
OID | .1.3.6.1.4.1.9.5.1.5.5 |
النوع | عدد صحيح |
إذن | للقراءة فقط |
الحالة | متداولي |
القيم |
|
MIB | Cisco-STACK-MIB |
الوصف | يحتوي على نتيجة آخر طلب إجراء TFTP |
OID في الشجرة | ::= { ISO(1) org(3) DOD(6) Internet(1) Private(4) Enterprise(1) Cisco(9) Workgroup(5) CiscoStackMIB(1) TFTPgrp(5) 5 } |