...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Включить SNMP-сервер | esr(config)# snmp-server | |
2 | Определить community для доступа по протоколу SNMPv2c. | esr(config)# snmp-server community <COMMUNITY> [ <TYPE> ] | <COMMUNITY> – сообщество для доступа по протоколу SNMP; <TYPE> – уровень доступа:
<IP-ADDR> – IP-адрес клиента, которому предоставлен доступ, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, от которых обрабатываются snmp-запросы, задаётся строкой до 31 символа; <VERSION> – версия snmp, поддерживаемая данным community, принимает значения v1 или v2c; <VIEW-NAME> – имя профиля SNMP view, задаётся строкой до 31 символа; |
3 | Устанавливает значение переменной SNMP, содержащей контактную информацию | esr(config)# snmp-server contact <CONTACT> | <CONTACT> – контактная информация, задается строкой до 255 символов. |
4 | Установить значение кода DSCP для использования в IP-заголовке исходящих пакетов SNMP-сервера (не обязательно). | esr(config)# snmp-server dscp <DSCP> | <DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63]. Значение по умолчанию: 63. |
5 | Разрешить перезагрузку маршрутизатора при помощи snmp-сообщений (не обязательно) | esr(config)# snmp-server system-shutdown | |
6 | Cоздать SNMPv3-пользователь. | esr(config)# snmp-server user <NAME> | <NAME> – имя пользователя, задаётся строкой до 31 символа. |
7 | Устанавливает значение переменной SNMP, содержащей информацию о расположении оборудования | esr(config)# snmp-server location <LOCATION> | <LOCATION> –информация о расположении оборудования, задается строкой до 255 символов. |
8 | Определить уровень доступа пользователя по протоколу SNMPv3. | esr(config-snmp-user)# access <TYPE> | <TYPE> – уровень доступа:
|
9 | Определить режим безопасности пользователя по протоколу SNMPv3. | esr(config-snmp-user)# authentication access <TYPE> | <TYPE> – режим безопасности:
|
10 | Определить алгоритм аутентификации SNMPv3-запросов. | esr(config-snmp-user)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования:
|
11 | Установить пароль для аутентификации SNMPv3-запросов. | esr(config-snmp-user)# authentication key ascii-text | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов;
<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
12 | Активировать фильтрацию и установить профиль IP-адресов, с которых могут приниматься SNMPv3 пакеты с данным именем SNMPv3 пользователя. | esr(config-snmp-user)# client-list <NAME> | <NAME> – имя ранее сознанной object-group, задается строкой до 31 символа. |
13 | Активировать фильтрацию и установить IPv4/IPv6-адрес, которому предоставлен доступ к маршрутизатору под данным SNMPv3-пользователем. | esr(config-snmp-user)# ip address <ADDR> | <ADDR> – IP-адрес клиента, которому предоставлен доступ, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
esr(config-snmp-user)# ipv6 address <ADDR> | <IPV6-ADDR> – IPv6-адрес клиента, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]. | ||
14 | Активировать SNMPv3-пользователя. | esr(config-snmp-user)# enable | Значение по умолчанию: процесс выключен. |
15 | Определить алгоритм шифрования передаваемых данных. | esr(config-snmp-user)# privacy algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования:
|
16 | Установить пароль для шифрования передаваемых данных. | esr(config-snmp-user)# privacy key ascii-text | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
Установить профиль snmp view, позволяющий разрешать или запрещать доступ к тем или иным OID для user. | esr(config-snmp-user)# view <VIEW-NAME> | <VIEW-NAME> – имя SNMP view профиля, на основании которого обеспечивается доступ к OID, задается строкой до 31 символа. | |
17 | Включить передачу SNMP уведомлений на указанный IP-адрес и перейти в режим настройки SNMP уведомлений. | esr(config)# snmp-server host | <IP-ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]; <VRF> – имя экземпляра VRF, в котором находится коллектор SNMP-уведомлений, задается строкой до 31 символа. |
18 | Определить порт коллектора SNMP уведомлений на удаленном сервере (не обязательно). | esr(config-snmp-host)# port <PORT> | <PORT> – номер UDP-порта, указывается в диапазоне [1..65535]. Значение по умолчанию: 162. |
19 | Установить фильтрацию на отправляемые SNMP-уведомления. | esr(config)# snmp-server enable traps <TYPE> | <TYPE> – тип фильтруемых сообщений. Может принимать значения: config, entry, entry-sensor, environment, envmon, files-operations, flash, flash-operations, interfaces, links, ports, screens, snmp, syslog. Дополнительные параметры зависят от типа фильтра. См. ESR-Series. Справочник команд CLI (ESR).. Версия 1.11.0. |
20 | Создать профиль snmp view, позволяющий разрешать или запрещать доступ к тем или иным OID для community (SNMPv2) и user (SNMPv3). | esr(config)# snmp-server enable traps <TYPE> | <VIEW-NAME> – имя профиля SNMP view, задаётся строкой до 31 символа. |
...
Блок кода |
---|
esr(config)# snmp-server host 192.168.52.41 |
Настройка Zabbix-agent/proxy
Zabbix-agent – агент, предназначенный для мониторинга устройства, а также выполнения удаленных команд с Zabbix сервера. Агент может работать в двух режимах: пассивный и активный. Для работы в пассивном режиме, по умолчанию, необходимо разрешающее правило в firewall – протокол tcp, порт 10050. Для активного режима – протокол tcp, порт 10051.
Zabbix-прокси - это процесс, способный собирать данные мониторинга с одного или нескольких наблюдаемых устройств и отправлять эту информацию Zabbix-серверу.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Перейти в контекст настройки агента/proxy. | esr(config)# zabbix-agent esr(config)# zabbix-proxy | |
2 | Указать имя узла сети (опционально). Для активного режима имя должно совпадать с именем узла сети на zabbix сервере. | esr(config-zabbix)# hostname <WORD> esr(config-zabbix-proxy)# hostname <WORD> | <WORD> – имя узла сети, задается строкой до 255 символов. |
3 | Указать адрес zabbix сервера. | esr(config-zabbix)# server <ADDR> esr(config-zabbix-proxy)# server <ADDR> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
4 | Указать адрес сервера для активных проверок (при использовании активного режима). | esr(config-zabbix)# active-server <ADDR> <PORT> esr(config-zabbix-proxy)# active-server <ADDR> <PORT> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <PORT> – Порт сервера, задается в диапазоне [1..65535]. |
5 | Указать порт, который будет слушать агент/прокси (не обязательно) | esr(config-zabbix)# port <PORT>. <PORT> esr(config-zabbix-proxy)# port <PORT> | <PORT> – Порт, который слушает zabbix агент/прокси, задается в диапазоне [1..65535]. |
6 | Разрешить выполнение удаленных команд zabbix агентом/прокси (при использовании активного режима). | esr(config-zabbix)# remote-commands esr(config-zabbix-proxy)# remote-commands | |
7 | Указать адрес, с которого будет осуществляться взаимодействием с сервером (не обязательно). | esr(config-zabbix)# source-address <ADDR> esr(config-zabbix-proxy)# source-address <ADDR> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
8 | Указать время обработки удаленных команд (не обязательно). | esr(config-zabbix)# timeout <TIME> esr(config-zabbix-proxy)# timeout <TIME> | <TIME> – время ожидания, определяется в секундах [1..30]. |
9 | Включить функционал агента/прокси | esr(config-zabbix)# enable esr(config-zabbix-proxy)# enable | |
10 | Разрешить из соответствующей зоны безопасности firewall обращение к маршрутизатору (в зону self) по TCP портам 10050, 10051. См. раздел Конфигурирование Firewall |
Пример настройки zabbix-agent
...
Блок кода |
---|
esr(config-zabbix)# timeout 30
esr(config-zabbix)# enable |
Scroll Pagebreak |
---|
...
Ping:
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo ping -c 3 192.168.32.101]"
Клиент (ESR), получивший данную команду от сервера, выполнит ping до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.
Использование ключа "-c" с указанием количества пакетов в тесте - обязательно. Без данного ключа команда ping не остановится самостоятельно и тест не будет считаться завершенным.
Ping в VRF:
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo netns -exec -n backup sudo ping 192.168.32.101 -c 5 -W 2 ]"
Вышеупомянутая команда будет выполнена в заданном VRF с именем backup.
Fping
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo fping 192.168.32.101]"
Клиент (ESR), получивший данную команду от сервера, выполнит fping до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.
Scroll Pagebreak Fping в VRF
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo netns-exec -n backup sudo fping 192.168.32.101 ]"
Traceroute
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo traceroute 192.168.32.101]
Клиент (ESR), получивший данную команду от сервера, выполнит traceroute до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.
Traceroute в VRF
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo netns-exec -n backup sudo traceroute 192.168.32.179]"
Iperf
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo iperf -c 192.168.32.101 -u -b 100K -i 1 -t 600]"
Клиент (ESR), получивший данную команду от сервера, выполнит iperf до заданного сервера (в нашем примере до 192.168.32.101), и вернет результат серверу.
Iperf в VRF
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo netns-exec -n backup sudo iperf -c 192.168.32.101 -u -b 100K -i 1 -t 600]"
Nslookup
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo nslookup ya.ru ]"
Клиент (ESR), получивший данную команду от сервера, выполнит nslookup , и вернет результат серверу.
Nslookup в VRF
Блок кода zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo netns-exec sudo nslookup ya.ru ]"
Пример выполнения команды Iperf:Scroll Pagebreak
...
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать Установить уровень syslog-сообщений, которые будут передаваться SNMP-Traps сообщениями (не обязательно)отправляться на snmp-сервер в виде snmp-trap. | esr(config)# syslog alarmssnmp <SEVERITY> | <SEVERITY> – уровень важности сообщения, принимает значения (в порядке убывания важности):
|
2 | Задать уровень syslog-сообщений, которые будут отображаться при удаленных подключениях (Telnet, SSH) (не обязательно) | esr(config)# syslog monitor <SEVERITY> | |
3 | Включить процесс логирования введённых команд пользователя на локальный syslog-сервер (не обязательно) | esr(config)# syslog cli-commands | |
4 | Включить сохранение сообщений syslog заданного уровня важности в указанный файл журнала | esr(config)# syslog file <NAME> <SEVERITY> | <NAME> – имя файла, в который будет производиться запись сообщений заданного уровня, задается строкой до 31 символа; <SEVERITY> описано в команде syslog alarmssnmp. |
5 | Указать максимальный размер файла журнала (не обязательно) | esr(config)# syslog file-size <SIZE> | <SIZE> – размер файла, принимает значение [10..10000000] кбайт |
6 | Задать максимальное количество файлов, сохраняемых при ротации (не обязательно) | esr(config)# syslog max-files <NUM> | <NUM> – максимальное количество файлов, принимает значения [1.. 1000] |
7 | Включить передачу сообщений syslog заданного уровня важности на удаленный syslog-сервер | esr(config)#syslog host <HOSTNAME> <ADDR> | <HOSTNAME> – наименование syslog-сервера, задаётся строкой до 31 символа. Используется только для идентификации сервера при конфигурировании. Значение «all» используется в команде no syslog host для удаления всех syslog-серверов; <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <SEVERITY> – уровень важности сообщения, опциональный параметр, возможные значения приведены в разделе Пример настройки Syslog; <TRANSPORT> – протокол передачи данных, опциональный параметр, принимает значения:
<PORT> – номер TCP/UDP-порта, опциональный параметр, принимает значения [1..65535], по умолчанию 514 |
8 | Включить вывод отладочных сообщений во время загрузки устройства (не обязательно) | esr(config)#syslog reload debugging | |
9 | Включить нумерацию сообщений (не обязательно) | esr(config)#syslog sequence-numbers | |
10 | Включить точность даты сообщений до миллисекунд (не обязательно). | esr(config)#syslog timestamp msec | |
11 | Включить регистрацию неудачных аутентификаций (не обязательно). | esr(config)#logging login on-failure | |
12 | Включить регистрацию изменений настроек системы аудита (не обязательно). | esr(config)#logging syslog configuration | |
13 | Включить регистрацию изменений настроек пользователя (не обязательно). | esr(config)#logging userinfo |
...