Олег Иванович Цилюрик - Проектируем SNMP управление.
Название: | Проектируем SNMP управление. | |
Автор: | Олег Иванович Цилюрик | |
Жанр: | Интернет, Аппаратное обеспечение, компьютерное железо | |
Изадано в серии: | неизвестно | |
Издательство: | неизвестно | |
Год издания: | - | |
ISBN: | неизвестно | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Проектируем SNMP управление."
SNMP управление - классический механизм управления устройствами компьютерной сети (локальной или Интернет). Про SNMP много написано общих рассуждений, но трудно найти описание как это использовать на практике.
Эта небольшая книга (брошюра) писалась давно и для себя. Но меня год за годом, когда где-то "просквозит" информация, просят прислать. Что я всегда и делаю. Но когда уже сегодня (2023) пришла такая просьба - решил что целесообразней выложить для свободного доступа* (Запрещенная организация в РФ).
Конечно, это будет интересно только практикующим программистам-профессионалам.
Читаем онлайн "Проектируем SNMP управление.". [Страница - 10]
может считаться достоинством метода, даже не смотря на его простоту.
19
Тестирование
Такой субагент (изменением одного оператора в коде) может запускаться либо как субагент протокола
AgentX, либо как автономный агент SNMP. Поэтому мы начинаем его проверить именно как автономный
самостоятельный агент:
# ./myagn -v
myagn is up and running.
MODE_GET
MODE_SET_RESERVE1
MODE_SET_RESERVE2
MODE_SET_ACTION
MODE_SET_COMMIT
^C
--------- got signal: 2 ------------myagn was finished.
$ snmpget -v2c -c private 127.0.0.1 OLEJ-MANAGEMENT-MIB::currentValue.0
OLEJ-MANAGEMENT-MIB::currentValue.0 = INTEGER: 0
$ snmpget -v2c -c private 127.0.0.1 OLEJ-MANAGEMENT-MIB::nextStep.0
OLEJ-MANAGEMENT-MIB::nextStep.0 = INTEGER: 0
$ snmpset -v2c -c private 127.0.0.1 OLEJ-MANAGEMENT-MIB::nextStep.0 i 13
OLEJ-MANAGEMENT-MIB::nextStep.0 = INTEGER: 13
$ snmpget -v2c -c private 127.0.0.1 OLEJ-MANAGEMENT-MIB::currentValue.0
OLEJ-MANAGEMENT-MIB::currentValue.0 = INTEGER: 13
Такой результат достигается только при выполнении всех конфигурационных требований для SNMP (которые,
вообще то говоря, многочисленные и капризные):
–
составление конфигурационного файла myagn.conf и помещение его в одно из мест, где он будет
доступен программе myagn при старте, например /etc/snmp (начальным прототипом для myagn.conf
может служить /etc/snmp/snmpd.conf);
–
прописывание в myagn.conf разрешений для доступа определённых сообществ (опция -c) к
требуемым поддеревьям OID;
–
помещение MIB-файлов в место, где они будут доступны для root (не только утилитам SNMP,
запускаемым от имени пользователя, но и агентам, запускаемым от root), например,
/root/.snmp/mibs;
Сравнительное тестирование
Ранее уже объяснялось как в рамках единой модели тестового проекта собирается два клиентских
приложения: локальный эмулятор модели, и менеджер SNMP, который выполняет ту же работу, но делает это на
удалённом хосте сети, используя SNMP протокол. Теперь мы можем сравнить поведение двух полученных
моделей — они должны быть идентичны.
$ ./cli_locl -v
команда (h-подсказка): =13
новое значение = 13
0 +13 => 13
команда (h-подсказка): =3
новое значение = 3
13 -10 => 3
команда (h-подсказка): *1.4
усиление = 1.4
20
команда (h-подсказка): =7
новое значение = 7
3 +6 => 9
9 -3 => 6
6 +1 => 7
команда (h-подсказка): ?
текущее значение = 7
команда (h-подсказка): q
Выполнение сетевой модели с SNMP:
$ ./cli_snmp localhost -v
host: localhost, currentValue OID=.1.3.6.1.4.1.9876.11.5, nextStep OID=.1.3.6.1.4.1.9876.11.7
команда (h-подсказка): ?
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 13
текущее значение = 13
команда (h-подсказка): =3
новое значение = 3
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 13
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 13
13 -10 => 3
SNMPv2-SMI::enterprises.9876.11.7.0 = INTEGER: -10
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 3
команда (h-подсказка): ?
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 3
текущее значение = 3
команда (h-подсказка): *1.4
усиление = 1.4
команда (h-подсказка): =7
новое значение = 7
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 3
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 3
3 +6 => 9
SNMPv2-SMI::enterprises.9876.11.7.0 = INTEGER: 6
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 9
9 -3 => 6
SNMPv2-SMI::enterprises.9876.11.7.0 = INTEGER: -3
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 6
6 +1 => 7
SNMPv2-SMI::enterprises.9876.11.7.0 = INTEGER: 1
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 7
команда (h-подсказка): ?
SNMPv2-SMI::enterprises.9876.11.5.0 = INTEGER: 7
текущее значение = 7
команда (h-подсказка): q
Зачем ещё нужны две сравнительных модели? Затем, что заставить SNMP работать так как хочется —
занятие непростое, и очень зависит от громоздких настроек конфигурационных файлов
(/etc/snmpd/snmpd.conf, /etc/snmpd/myagn.conf, возможный вариант конфигурационных файлов
включён в состав архива примеров). Даже воспроизвести показанный выше результат будет не столь простым
делом. Локальная модель будет в этом процессе подсказкой (эталоном): как должно быть при разных входных
данных.
21
--">
Книги схожие с «Проектируем SNMP управление.» по жанру, серии, автору или названию:
Олег Демидов - Глобальное управление Интернетом и безопасность в сфере использования ИКТ: Ключевые вызовы для... Жанр: Интернет Год издания: 2016 Серия: Библиотека ПИР-Центра |