Perl для системного администрирования



              

Протокол SNMP


Давайте отвлечемся от вопросов безопасности и перейдем к более общим темам наблюдения. В предыдущем разделе мы рассмотрели способ наблюдения за определенной сетевой службой. Простой протокол управления сетью (SNMP) совершает «квантовый скачок», предлагая общий способ удаленного наблюдения и настройки сетевых устройств и компьютеров. Стоит только разобраться с основами протокола SNMP, и вы сможете применять его для хранения таблиц (а зачастую для конфигурирования) практически любого устройства в вашей сети.

По правде говоря, простой

протокол управления сетью не очень-то и прост. С этим предметом связано много тонкостей. Если вы еще не знакомы с SNMP, загляните в приложение Е «Двадцатиминутное руководство по SNMP».

Использование протокола SNMP из Perl

Один из способов использовать протокол SNMP из Perl - вызвать программу, работающую в командной строке, наподобие UCD-SNMP, при веденной в демонстрационных целях в приложении Е. Этот процесс безопасность и наблюдение за сетью виден и ничем не отличается от вызова внешних программ, о чем мы раньше упоминали в книге. Ничему новому тут научиться нельзя, так что не будем уделять этому подходу много времени. Приведу лишь одно предостережение: тем, кто использует SNMPvl или SNMPv2C, скорее всего, придется указывать имя сообщества (community name) в командной строке. Если эта программа выполняется в многопользовательской системе, любой, кто обратится к списку процессов, сможет увидеть имя сообщества и завладеть «ключами от города». Эта угроза существует в

примерах, выполняемых в командной строке из приложения Е, но она становится более серьезной в автоматически выполняемых программах, которые неоднократно вызывают внешние программы. Лишь для наглядности в следующих примерах имя узла и имя сообщества определяются в командной строке. В настоящих программах от этого нужно избавиться.

Если мы не вызываем внешнюю программу для выполнения SNMP-oneраций из Perl, другим вариантом является использование модуля SNMP. Существует по крайней мере три очень похожих модуля: Net: : SNMP Дэвида М. Тауна (David M. Town), SNMP_Session.pm, написанный Саймоном Лейненом (Simon Leinen) и «SNMP Extension Module v3.1.0 for the UCD SNMPvS Library» (Модуль SNMP расширений vS.l.O для библиотек UCD SNMPvS, который мы будем называть просто SNMP из-за способа его загрузки) Дж. С. Марзота (G.S. Marzot). Все три модуля реализуют SNMPvl. Net::SNMP и SNMP частично поддерживают SNMPv2. И лишь в SNMP предлагается некоторая поддержка SNMPvS.




Содержание  Назад  Вперед