Logo

EcoRouter

EcoNAT

EcoQOE

EcoBypass

English

  • Release Notes
  • SNMP EcoRouter Documentation / SNMP

    SNMP (англ. Simple Network Management Protocol – простой протокол сетевого управления) – стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP. С помощью протокола SNMP, программное обеспечение для управления сетевыми устройствами может получать доступ к информации, которая хранится на управляемых устройствах (например, на коммутаторе). На управляемых устройствах SNMP хранит информацию об устройстве, на котором он работает, в базе данных, которая называется MIB.

    SNMP является одним из протоколов, реализующих концепцию технологий управления сетью Internet Standard Management Framework.

    В рамках данной концепции для управления сетью строится система, состоящая из трех основных элементов:

    • SNMP manager управляет и наблюдает за сетевой активностью устройств. Его часто называют Network Management System (NMS);
    • SNMP agent – программное обеспечение, запускаемое на управляемом устройстве, либо на устройстве, подключенном к интерфейсу управления управляемого устройства. Собирает данные с управляемого устройства и передает их на SNMP manager;
    • Management Information Base (MIB) – база данных, которая используется для управления устройствами в сети. Имеет древовидную структуру в которой хранится информация о хостах. Элементы MIB имеют символьные имена и соответствующие им числовые значения – OID (формата N.N.N….N).

    EcoRouter поддерживает версии протокола SNMPv1, SNMPv2c и SNMPv3.

    Запуск и остановка сервиса SNMP

    Для запуска SNMP сервиса используется команда конфигурационного режима snmp-server enable snmp (mgmt | vr <VR_NAME | default>).

    При запуске SNMP указывается, какие порты будет обслуживать сервис:

    mgmt - management-порт,

    vr - порты виртуального маршрутизатора.

    Если значение данного параметра не указывается, то SNMP будет включен для management-порта.

    ecorouter(config)#snmp-server enable snmp vr virt1

    Если SNMP включается на виртуальном маршрутизаторе, для него необходимо разрешить входящий трафик на UDP-порт 161 через настройку профилей безопасности (подробнее о профилях безопасности можно прочитать в соответствующем разделе).

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

    Пример настройки профиля безопасности и переключения сервиса на другой виртуальный маршрутизатор:

    ecorouter(config)#security-profile 2
    ecorouter(config-security-profile)#rule 0 permit udp any any eq 161
    ecorouter(config-security-profile)#ex
    ecorouter(config)#virtual-router virt2
    ecorouter(config-vr)#ex
    ecorouter(config)#security vr virt2 2
    ecorouter(config)#no snmp-server enable
    ecorouter(config)#snmp-server enable snmp vr virt2

    Для выключения SNMP сервиса используется команда конфигурационного режима no snmp-server enable snmp.

    ecorouter(config)#no snmp-server enable snmp

    Для переподключения определенного протокола к SNMP в EcoRouter используется команда конфигурационного режима snmp restart <bgp | isis | ldp | mrib | ospf | pim  | rib | vrrp>.

    ecorouter(config)#snmp restart bgp

    Настройка SNMP community

    SNMP community - ключевое слово, имя объединения (сообщества) для взаимодействия по протоколу SNMP 1 или 2 версии. Сообщество состоит из одного или нескольких агентов и менеджеров. Один хост с установленным на нем агентом может одновременно принадлежать к нескольким сообществам, при этом агент будет принимать запросы только от устройств управления, принадлежащих к этим группам. Безопасность обмена сообщениями между агентами и менеджером в этом случае обеспечивается при помощи передачи в теле сообщения в открытом виде имени сообщества или community-string.

    Для создания community используется команда конфигурационного режима snmp-server community. Синтаксис команды: snmp-server community <COMMUNITY-NAME> ( (view <VIEW-NAME> (ro | rw) ) | (group <GROUP-NAME>) | (ro | rw)).

     

    Параметр

    Описание

    <COMMUNITY-NAME>

    Сommunity-string. Максимальная длина 32 символа

    view <VIEW-NAME>

    Указать имя представления, определяющего поддерево MIB, доступное данному сообществу. Представление должно быть предварительно создано командой snmp-server view

    <GROUP-NAME>Имя группы

    ro

    Доступ только на чтение - значение выставляется по умолчанию

    rw

    Доступ на чтение и запись, если она разрешена


    ecorouter(config)#snmp-server community MyComm view MyView1 version v2c rw

    Для сообщества нельзя одновременно указать и представление, и группу. Если не указано ни представление, ни группа, а только имя сообщества, то данному сообществу будет предоставлен доступ из любой сети ко всем MIB.

    Для удаления community используется команда конфигурационного режима no snmp-server community <COMMUNITY-NAME>.

    Настройка представлений (SNMP views)

    Представления создаются для того, чтобы ограничить доступ к объектам дерева MIB. Для создания и настройки представления используется команда конфигурационного режима snmp-server view. Синтаксис команды: snmp-server view <VIEW-NAME> <OID-TREE> (included | excluded).

    Параметр

    Описание

    <VIEW-NAME>

    Имя представления. Максимальная длина 32 символа

    <OID-TREE>

    Идентификатор поддерева MIB, которое должно быть включено в представление или исключено из него. Указывается в виде строки из цифр, разделенных точками, например, 1.3.6.2.4, может быть задано именем

    included

    Включить поддерево в SNMP представление

    excluded

    Исключить поддерево из SNMP представления

     

    ecorouter(config)#snmp-server view myView3 1.3.6.1.6.3.18 excluded

    Для добавления поддерева к существующему представлению (или исключения из него) используется эта же команда.

    Для удаления представления используется команда конфигурационного режима no snmp-server view <VIEW-NAME>.

    Настройка отправки асинхронных сообщений

    При передаче информации между менеджерами и агентами в общем виде используются следующие сценарии:
    • менеджер отправляет запрос агенту и получает ответ;

    • менеджеру отправляется сообщение (агентом или другим менеджером), которое требует уведомления о получении (inform);

    • агент отправляет информацию о себе менеджеру без запроса с его стороны и без уведомления о получении (trap).

    Для включения отправки trap сообщений используется команда snmp-server enable traps.

    ecorouter(config)#snmp-server enable traps

    Для отключения отправки trap сообщений используется команда no snmp-server enable traps.

    ecorouter(config)#no snmp-server enable traps

    Для того чтобы осуществлять отправку trap сообщений менеджеру или NMS, необходимо указать адрес нужного хоста и его настройки. Для этого используется команда snmp-server host. Синтаксис команды:

    snmp-server host <A.B.C.D|HOSTNAME> (traps ( | version (1 | 2c)) | informs) <COMMUNITY-STRING> (| udp-port <1-1024>)

    Параметр

    Описание

    A.B.C.D

    IP сервера

    HOSTNAME

    DNS-имя сервера

    traps

    Отправлять сообщения типа trap (без уведомления). Параметр по умолчанию

    informs

    Отправлять сообщения типа inform (с уведомлением)

    version

    Версия протокола SNMP. Значения параметра: 1 или 2c

    <COMMUNITY-STRING>

    Community-string, от имени какого сообщества отправляются сообщения. Максимальная длина 32 символа

    udp-portПорт, который слушает сервер. Диапазон значений от 1 до 1024, по умолчанию 162

    ecorouter (config)#snmp-server host 192.168.0.1 traps version 1 MyCommPass

    Если в параметрах указывается отправка сообщений типа inform, то параметр version не задается, так как он может быть равен только v2c.

    Для удаления записи о менеджере или NMS используется команда no snmp-server host.

    ecorouter(config)#no snmp-server host < A.B.C.D | HOSTNAME >

    SNMPv3

    Протокол SNMPv3 - это следующая стадия развития протокола SNMP. Он полностью совместим с предыдущими версиями. Отличие от предыдущих версий:

    • понятия "менеджер" и "агент" заменены на "сущность" (entity), понятия "агент" и "менеджер" остались в качестве ролей;

    • стали доступны службы ограничения доступа, защиты данных и аутентификации пользователя (см. стандарты RFC 3411-3415). 

    В версии SNMPv3 предусмотрено три уровня безопасности: 

    • noAuthNoPriv - аутентификация не производится, конфиденциальность данных отсутствует;

    • authNoPriv - аутентификация без конфиденциальности;

    • authPriv - аутентификация и шифрование, максимальный уровень защиты.

    Операции с пользователем

    Создание пользователя производится в режиме конфигурации при помощи команды snmp-server user <USERNAME> [group <GROUPNAME>] [encrypted] [auth (md5 | sha ) <AUTH-PASSWORD> [priv (des | aes) <PRIV-PASSWORD>]] . Описание параметров вызова команды приведено в таблице ниже.

    Параметр

    Описание

    USERNAME

    Имя пользователя

    GROUPNAME

    Имя группы

    encrypted

    Указание этого параметра означает, что далее введен уже зашифрованный пароль (пароли), и к нему (к ним) хэширование применять уже не надо

    auth (md5 | sha)

    Выбор алгоритма хэширования аутентификационного пароля. Если будет задан параметр priv (des | aes), то пароль для шифрования сообщений в сессии также будет хэширован по выбранному алгоритму (md5 или sha)

    AUTH-PASSWORD

    Аутентификационный пароль

    priv (des | aes)

    Выбор алгоритма шифрования на основе <PRIV-PASSWORD>. Выбор возможен, только если задействован параметр auth

    PRIV-PASSWORD

    Пароль для шифрования сообщений в сессии

    Пользователь может входить только в одну группу или не входить ни в одну.

    Удаление пользователя производится при помощи команды no snmp-server user <USERNAME> [group <GROUPNAME>] [auth (md5 | sha ) <AUTH-PASSWORD> [priv (des | aes) <PRIV-PASSWORD>]] .

    Операции с группой

    Создание группы производится в режиме конфигурации при помощи команды snmp-server group <GROUPNAME> (v1 | v2c | (v3 (auth | noauth | priv))) (read VIEW-NAME | ) (write VIEW-NAME | ).

    Параметр

    Описание

    GROUPNAME

    Имя группы

    v1 | v2c | v3Версии протокола SNMP

    auth | noauth | priv

    В зависимости от параметра в сессиях, соответствующих выбранной модели безопасности, пользователям будет предоставлен определенный доступ. При указании auth доступ к представлению этой группы будет предоставлен аутентифицированному пользователю, при указании noauth - неаутентифицированному, при указании priv - пользователю, использующему аутентификацию и шифрование

    VIEW-NAME

    Имя представления, определяющего поддерево MIB, доступное данной группе для чтения или записи соответственно. Представление должно быть предварительно создано командой snmp-server view

    Редактирование группы выполняется той же командой, что и создание.

    Каждая группа может быть настроена по-разному для работы с каждой версией SNMP. Для SNMPv3 возможны различные настройки для одной и той же группы для разных уровней безопасности.

    ecorouter(config)#snmp-server group test v1 read view1 write view2
    ecorouter(config)#snmp-server group test v2c read view3
    ecorouter(config)#snmp-server group test v3 auth read view4 write view5
    ecorouter(config)#snmp-server group test v3 priv write view6


    Присутствует возможность включить строгий режим работы SNMP агента -  при котором обрабатываются сообщения только третьей версии протокола SNMP.
    ecorouter(config)#snmp-server v3-strict

    Удаление группы производится при помощи команды no snmp-server group <GROUPNAME> ((v1 | v2c | v3 (auth | noauth | priv)) (read VIEW-NAME | ) (write VIEW-NAME |) |).

    Команды просмотра

    Просмотр информации о SNMP-пользователях производится в режиме администрирования при помощи команды show snmp user [<USERNAME>]. Если указать параметр <USERNAME>, то будет выведена информация о выбранном пользователе.

    ecorouter#show snmp user MyUsEr 
    User name: MyUsEr
    Group name: Gr1
    Authentication: md5
    Privacy: DES

    В результате выполнения команды show snmp user будет выведена информация обо всех пользователях SNMP. Пример выполнения такой команды:

    ecorouter#show snmp user
    User name: MYSNMPUSER 
    Authentication: No
    Privacy: No
    User name: MyUsEr
    Group name: Gr1
    Authentication: md5
    Privacy: DES

    Просмотр информации о SNMP-группах производится в режиме администрирования при помощи команды show snmp group [<GROUPNAME>]. Если указать параметр <GROUPNAME> , то будет выведена информация о выбранной группе.

    ecorouter#show snmp group 2
    Group name: 2
    Authentication: No

    В результате выполнения команды show snmp group будет выведена информация обо всех группах SNMP. Если группа имеет отдельные настройки для разных версий протокола, то они будут показаны отдельно. Пример выполнения такой команды:

    ecorouter#show snmp group
    Group name: test
    Security level: no Authentication
    Snmp version: 1
    Read view: view1
    Write view: view2
    Group name: test
    Security level: no Authentication
    Snmp version: 2c
    Read view: view3
    Group name: test
    Security level: Authentication
    Snmp version: 3
    Read view: view4
    Write view: view5
    Group name: test
    Security level: Authentication and Privacy
    Snmp version: 3
    Write view: view6