فهرست مطالب این مقاله:
در این مقاله به بررسی پروتکل SNMP و مشکلات موجود در ارتباطات پروتکل SNMP پرداخته شده است و برای این مشکلات راهکاری ارائه گردیده است.
آیا شما برای مانیتور کردن شبکه خود از پروتکل SNMP استفاده میکنید؟ انتخاب خوبی است. آیا در پیکربندی آن دچار مشکل شدهاید؟ یا پیکربندی را انجام دادهاید اما SNMP کار نمیکند؟ یا به نظر SNMP کار میکند، اما شبکه شما دچار اختلال شده است؟ بسیار خوب، شما در مشکلات مربوط به ارتباطات پروتکل SNMP تنها نیستید. نفس عمیقی بکشید و سپس نیازمندیهای زیر را بررسی کنید.
رهایی از مشکلات پروتکل SNMP
در ادامه اکثر مشکلاتی را که بسیاری از مشتریان در خصوص پروتکل SNMP طی تماس با واحد پشتیبانی فنی ما مطرح کردهاند را عنوان خواهیم کرد.
فعالسازی پروتکل SNMP
ممکن است بسیار واضح به نظر برسد، اما گاهی اوقات ممکن است سرویس SNMP فعال نشود. اطمینان حاصل کنید که SNMP بر روی دستگاه (های) هدف فعال باشد. در صورتی که جهت فعالسازی SNMP بر روی سیستم عاملها و دستگاههای رایج به کمک احتیاج دارید، به مقالات فعالسازی SNMP بر روی سیستم عاملهای ویندوز، لینوکس و روتر و سوییچ سیسکو رجوع کنید.
به پیامهای SNMP اجازه دسترسی دهید
در تنظیمات SNMP ماشینی که بر روی آن ابزار مانیتورینگ قرار دارد بررسی کنید که آیا اجازه ارسال پیامهای SNMP را به دستگاه موردنظر میدهد یا خیر؟ فایروال (فایروال ویندوز) یا ابزار فایروال سومی ممکن است در سیستم از ارسال پیامهای SNMP جلوگیری کند. همچنین بررسی کنید ماشینی که برای مانیتور کردن آن در تلاش هستید، پیغامهای SNMP را قبول میکند؟
لیست دسترسی (ACL: Access List)
لیست دسترسی (ACL) و فایروال را با توجه به پورتها و IPهای مورد استفاده بررسی کنید. اگر پورتهای خاصی بلاک شده است، پورتها را برای SNMP که از پروتکل UDP با شماره پورت 161 استفاده میکند، آزاد کنید.
ip access-list extended ABC-ACL
Permit udp X.X.0.0 0.0.255.255 eq snmp host SERVER_IP
نسخه را مطابقت دهید
اطمینان حاصل کنید که نسخههای SNMP در هر دو (یا تمامی) SNMP manager و agent (ها) مطابقت دارد. برای مثال، در صورتی که شما از نسخه 3 SNMP استفاده میکنید، در دستگاه هدف (SNMP agent) نیز همانند سیستم مانیتورینگ خود (SNMP manager) SNMP نسخه 3 را انتخاب نمایید. شما همچنین میتوانید در LANها از SNMP نسخه 2c استفاده کنید. شما همچنین میتوانید از SNMPv1 استفاده کنید، اما این نسخه همانند نسخه 2c قابل اطمینان نیست و تنها میبایست به عنوان آخرین گزینه از آن استفاده شود. برای مثال، در صورتی که دستگاه شما تنها از SNMPv1 پشتیبانی کند.
مجوزهای SNMP
مجوزهای SNMP خود را بررسی کنید.یک SNMP manager و یک SNMP agent تنها زمانی میتوانند پیامها را با موفقیت انتقال دهند که مجوزها با هم همخوانی داشته باشند. در SNMPv1 و SVMPv2(تقریبا همیشه Community string) شما تنها میبایست v2c را بررسی نمایید. Community string نوعی رمز عبور است (هرچند به صورت متن آشکار) و در بیشتر دستگاهها به صورت پیشفرض عبارت public است. بنابراین ابتدا این عبارت را امتحان کنید. اگر شما از SNMP v3 استفاده کنید، بررسی مجوزهای SNMP به دقت بیشتری در پیکربندی نیاز خواهد داشت. اطمینان حاصل کنید که تنظیمات SNMP v3 زیر در سیستم مانیتورینگ و بر روی دستگاه(ها)، بطور یکسان پیکربندی شده باشد. همچنین الگوریتم انتخاب شده برای احراز هویت، نام کاربری و رمز عبور، نوع عملیات رمزنگاری و تا حد امکان کلید رمزنگاری داده و محتوای آن میبایست یکسان پیکربندی گردد.
بسیار خوب! حال SNMP میبایست فعال گردد و انتقال پیامها به درستی صورت پذیرد. سیستم مانیتورینگ میتواند به شما در خصوص مانیتورینگ شاخصهایی که از پروتکل SNMP پشتیبانی میکنند و شما برای شبکه خود به آن نیاز دارید کمک کند. برای مثال، نرم افزار مانیتورینگ بینا لیستی از شاخصهای از پیش تعریف شده و متنوع را برای مانیتور دستگاههای مختلف با استفاده از پروتکل SNMP ارائه میدهد. ممکن است شگفت زده شوید اگر متوجه شوید که چه چیزهایی در شبکه خود برای مانیتور کردن دارید که تا به حال از آن بیخبر بودهاید!
اگر احساس میکنید که مانیتورینگ شاخصهای شما از طریق SNMP کامل نیست، ممکن است بخواهید نگاهی به “بنیان اطلاعاتی مدیریتی دستگاه (MIBs: Management Information Bases)” داشته باشید.
MIBها را بررسی کنید
اگر دادههای مورد نیاز شما از نرم افزار مانیتورینگ به صورت پیش فرض دریافت نشد، MIBهای دستگاه را مورد بررسی قرار دهید. چرا که یک فایل MIB به فرمی خوانا برای فردی که دستگاه آن را پشتیبانی میکند، نمایش داده میشود. اگرچه اقرار میکنیم که خواندن MIBها (مخصوصاً در صورتی که قبلاً این کار را انجام ندادهاید) کمی مشکل خواهد بود. اما جای نگرانی نیست. در زیر نمونهای در این خصوص برای شما عنوان کردهایم:
if PhysAddress OBJECT-TYPE SYNTAX PhysAddress ACCESS read-only STATUS mandatory DESCRIPTION "The interface address at the protocol layer immediately 'below' the network layer in the protocol stack. For interfaces which do not have such an address (e.g., a serial line), this object should contain an octet string of zero lenght" ::= { ifEntry 6 } The Monitoring Object ifPhysAddress in the IF-MIB (RFC1213)
عالی است، حال شما میتوانید هر شاخصی را که قابلیت مانیتور کردن را داراست، مانیتور کنید. آیا هنوز موارد مشکل سازی مثل کارایی پایین شبکه یا از دست رفتن پیغامها باقی مانده است؟
نکات زیر را مدنظر داشته باشید:
تنظیم سرویس SNMP
SNMP در اغلب دستگاهها پروسهای با اولویت پایین است. بنابراین تحت بار پردازشی سنگین، ممکن است سرویس SNMP، drop شود و در نتیجه، پیامهای SNMP که شما منتظر آن هستید هیچ گاه به مقصد نرسند (و هیچگاه ارسال نشوند). در برخی دستگاهها، شما قادر خواهید بود SNMP را به عنوان سرویسی با اولویت بالاتر پیکربندی کنید. اگر این امکان پذیر نبود، مقدار صفوف SNMP را کاهش دهید که این مورد در رابطه با نرم افزار بینا بدین معنی است که بازه زمانی (Interval) اجرایی ارسال و دریافت SNMP را افزایش دهید و یا از شاخصهای کمتری جهت مانیتورینگ استفاده کنید (شاخصهای غیرضروری را حذف کنید).
از Overload (بار اضافی) جلوگیری کنید
از ارتباطات با Overload بالا جلوگیری کنید، چرا که آنها ممکن است پیامهای SNMP را به راحتی drop کنند. این بدین معنی است که این پیامها به بیرون فرستاده میشوند و در جایی از شبکه شما گم خواهند شد. دلیل این کار این است که پیامهای SNMP بر پایه پروتکل UDP (User Datagram Protocol) قرار گرفته است، پروتکلی که سربار کمی را ایجاد میکند، اما تحویل بستههای داده را تضمین نمیکند.
نسخه SNMP موردنیاز را بررسی کنید
از SNMPv3، ایمنترین نسخه SNMP استفاده کنید. مسلماً ایده خوبی خواهد بود. هرچند SNMPv3 میتواند باعث کمی سربار شود که این امر منجر به کند شدن و در برخی موارد از کار افتادن شبکه شما خواهد شد. اگر شما در یک شبکه محلی (LAN) کوچک با امنیت فیزیکی کار میکنید، معمولاً میتوانید بدون نگرانی نسخه SNMP را به 2c تغییر دهید. این نسخه خدمات خوبی نیز ارائه خواهد داد و ارسال رمزهای عبور به صورت متن ساده مشکلی بوجود نخواهد آورد (به خصوص اگر به صورت Community فقط خواندنی (Read Only) به کار گرفته شود). در صورت لزوم، شما ممکن است به SNMPv1 نیز تغییر نسخه دهید، اما پس از آن شما میبایست با شمارندههای 32-bit کنار بیایید و توجه داشته باشید که این مورد ممکن است برای مانیتورینگ ترافیک GB/s کافی نباشد.