Changes between Version 5 and Version 6 of Examples3uSNMPv3Conf


Ignore:
Timestamp:
Aug 17, 2026, 4:15:06 PM (2 days ago)
Author:
roman_zhur
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Examples3uSNMPv3Conf

    v5 v6  
    55[[PageOutline(1-10, Содержание:)]]
    66
    7 SNMP (Simple Network Management Protocol) - протокол для мониторинга и управления сетевым оборудованием. Он позволяет получать данные о состоянии устройства - метрики, аварии и статусы - и передавать их в систему мониторинга.
     7SNMP (Simple Network Management Protocol) - протокол для мониторинга и управления сетевым оборудованием. Он позволяет получать данные о состоянии устройства (метрики, аварии и статусы) и передавать их в систему мониторинга.
    88
    99В этой инструкции мы рассмотрим настройку SNMP на блоке MC04-DSL-3U с использованием версии протокола SNMPv3, обеспечивающей аутентификацию и шифрование передаваемых данных в отличие от SNMPv1/v2c, где для доступа используется только community string, передаваемая в открытом виде.
     
    1212 * настройка SNMP trapsink для отправки аварийных уведомлений (трапов) на SNMP-менеджер;
    1313 * настройка SNMP-агента на блоке для приёма запросов от SNMP-менеджера;
    14  * настройка SNMP-менеджера на примере SnmpB для мониторинга блока через SNMP;
     14 * настройка SNMP-менеджера на примере SnmpB для мониторинга блока;
    1515 * блокировка старых версий протокола SNMPv1 и SNMPv2c.
    1616
     
    3737
    3838Параметр '''Security level''' имеет три опции:
    39  * '''noAuthNoPriv''' - нет ни аутентификации, ни шифрования нет. Аналог SNMPv2c: пакеты передаются в открытом виде, аутентификация происходит только по имени пользователя, без пароля.
     39 * '''noAuthNoPriv''' - нет ни аутентификации, ни шифрования. Аналог SNMPv2c: пакеты передаются в открытом виде, аутентификация происходит только по имени пользователя, без пароля.
    4040 * '''authNoPriv''' - есть аутентификация, нет шифрования. Отправитель проверяется по хэш-функции и паролю (ключу аутентификации), но данные (метрики) внутри пакета передаются в открытом виде.
    4141 * '''authPriv''' - есть аутентификация и шифрование. Пакет подписывается паролем аутентификации, а всё его содержимое шифруется вторым паролем (ключом приватности).
     
    6464{{{createUser [имя пользователя] [протокол аутентификации] [пароль аутентификации] [протокол шифрования] [пароль шифрования]}}}
    6565
    66 Используйте данные из настроек SNMP-trapsink.
    67 
    68 >В данном примере для простоты настройки использован один USM-профиль для SNMP-trapsink и SNMP-агента. ''Но это необязательно''
     66Используйте данные из настроек SNMP trapsink.
     67\\\\
     68>В данном примере для простоты настройки использован один USM-профиль для SNMP trapsink и SNMP-агента. ''Но это необязательно''\\
    6969>USM-профиль (User-based Security Model) состоит из имени пользователя, протокола и пароля аутентификации, протокола и пароля шифрования.
    7070>
    71 >'''Почему профили могут различаться'''
    72 >Для SNMP-trapsink и SNMP-агента можно использовать разные USM-профили:
     71>'''Почему профили могут различаться'''\\
     72>Для SNMP trapsink и SNMP-агента можно использовать разные USM-профили:
    7373>- '''Trapsink''' - учётные данные, с которыми агент отправляет трапы менеджеру. Они определяют, как трап будет подписан и зашифрован на исходящей стороне.
    7474>- '''createUser + rwuser/rouser''' на агенте - учётные данные, с которыми менеджер опрашивает агента с помощью запросов GET/SET. Это входящее направление, не зависящее от отправки трапов.
     
    8282Для перехода в vi в ''режим ввода'' нажмите клавишу {{{i}}}.
    8383
    84 Для примера напишем:
     84Для примера напишем:\\
    8585{{{createUser grs2_snmp SHA 12345678 AES qwertyui}}}
    8686
    8787Для возврата в ''обычный режим'' нажмите {{{ESC}}}, затем введите {{{:wq}}} ''(с двоеточием)'', чтобы сохранить файл и выйти.
    88 
     88\\
     89\\
    8990>Небольшая справка по vi:
    9091>- Обычный режим - перемещение по файлу, стирание текста и другие редактирующие функции.
     
    99100
    100101[[Image(05.png, align=center)]]
    101 
     102\\\\
    102103> Касательно предупреждения "Do not edit this file". Единственное изменение, которое можно вносить в этот файл, это создание юзера, о чем написано в предпоследней строчке самого предупреждения.
    103104> Чтобы {{{snmpd}}} не стёр внесенные изменения, мы и остановили {{{snmpd}}}. Если открыть этот файл заново после запуска {{{snmpd}}}, то строка {{{creatUser <...>}}} закодируется для безопасности.
    104105
    105 Новому пользователю необходимо назначить права. Введите команду:
     106Новому пользователю необходимо назначить права. Введите команду:\\
    106107{{{vi /etc/snmp/snmpd.conf}}}
    107108
    108 Добавьте в файл строку вида:
    109 {{{[rw/ro]user [имя пользователя] [noauth|auth|priv]}}}
     109Добавьте в файл строку вида:\\
     110{{{[rw/ro]user [имя пользователя] [noauth|auth|priv]}}}\\
    110111где:
    111112 * {{{rwuser}}} - пользователь с правами на чтение и запись;
     
    116117         * {{{priv}}} - разрешает только {{{priv}}}.
    117118
    118 Для примера добавим строку:
     119Для примера добавим строку:\\
    119120{{{rwuser grs2_snmp priv}}}
    120121
    121 Без указания дополнительных параметров директива {{{rwuser}}} ({{{rouser}}}) по умолчанию обеспечивает пользователю доступ к полному дереву OID с использованием контекста по умолчанию. ''Дополнительная информация: [http://www.net-snmp.org/docs/man/snmpd.conf.html Manpage of SNMPD.CONF].''
     122Без указания дополнительных параметров директива {{{rwuser}}} ({{{rouser}}}) по умолчанию обеспечивает пользователю доступ к полному дереву OID с использованием контекста по умолчанию. \\''Дополнительная информация: [http://www.net-snmp.org/docs/man/snmpd.conf.html Manpage of SNMPD.CONF].''
    122123
    123124[[Image(06.png, align=center)]]
    124125
    125 После создания пользователя и назначения прав запустите {{{snmpd}}} командой:
     126После создания пользователя и назначения прав запустите {{{snmpd}}} командой:\\
    126127{{{/etc/init.d/snmpd start}}}
    127128----
     
    136137         * в файле {{{/var/net-snmp/snmpd.conf}}} написать {{{createUser [имя пользователя]}}}.
    137138         * в файле {{{/etc/snmp/snmpd.conf}}} написать {{{[rw/ro]user [имя пользователя] noauth}}}
     139
    138140== Настройка SNMP-менеджера ==
    139141'''на примере программы SnmpB v0.8'''
     
    143145 * настройку данных аутентификации и шифрования (добавление USM-профиля);
    144146 * сопоставление конкретного хоста с USM-профилем.
     147
    145148=== Добавление MIB-файлов ===
    146149
     
    151154Нажмите '''Скачать MIB блока'''. Откроется файл {{{mib.txt}}}. Выделите весь текст с помощью {{{Ctrl-A}}}, вставьте его в текстовый файл и переименуйте файл в {{{ADC-MIB}}}. Расширение зависит от формата, используемого SNMP-менеджером, но обычно MIB-файлы хранятся без расширения.
    152155
    153 При нажатии '''Скачать ADC-MIB''' откроется файл {{{adc-mib.txt}}}. Таким же способом скопируйте его содержимое в текстовый файл и переименуйте полученный файл в {{{M3U9999-MIB}}}.
     156При нажатии '''Скачать ADC-MIB''' откроется файл {{{adc-mib.txt}}}. Также скопируйте его содержимое в текстовый файл и переименуйте полученный файл в {{{M3U9999-MIB}}}.
    154157
    155158Полученные файлы переместите в папку SNMP-менеджера, где хранятся его MIB-файлы. Для SnmpB путь выглядит так: {{{C:\Program Files (x86)\SnmpB\mibs}}}
     
    158161
    159162[[Image(08.png, align=center, 99%)]]
    160 \\
    161 \\
     163
     164\\
     165\\
     166
    162167> Каждый блок MC04-DSL-3U формирует собственный MIB-файл в зависимости от установленных плат, однако все переменные находятся в одном корневом OID. Поэтому при загрузке MIB нескольких блоков возможен конфликт: один и тот же OID, например {{{.1.3.6.1.4.1.32109.9999.4.5.6.0}}}, в разных блоках может соответствовать переменным разных типов. В таком случае менеджер откажется работать с этими MIB.
    163168>
    164169> Чтобы избежать конфликта, назначьте блоку отдельный корневой OID. На вкладке '''Мониторинг''' можно изменить последний элемент корневого OID: значение по умолчанию - 9999, допустимый диапазон - 1–65535. Например, при значении 8888 получится уникальный OID {{{.1.3.6.1.4.1.32109.8888.4.5.6.0}}}, который не пересекается с OID других блоков.
     170
    165171=== Добавление USM-профиля ===
    166172
    167 Выберите пункт меню {{{Options -> Manage SNMPv3 USM Profiles...}}}, чтобы открыть окно '''USM Profiles'''. Щёлкните правой кнопкой мыши в левой области окна и выберите {{{New USM Profile}}}. Заполните поля в соответствии с настройками SNMP-trapsink и SNMP-агента.
     173Выберите пункт меню {{{Options -> Manage SNMPv3 USM Profiles...}}}, чтобы открыть окно '''USM Profiles'''. Щёлкните правой кнопкой мыши в левой области окна и выберите {{{New USM Profile}}}. Заполните поля в соответствии с настройками SNMP trapsink и SNMP-агента.
    168174
    169175[[Image(09.png, align=center)]]
     
    191197
    192198==== SNMP trapsink ====
     199
    193200SNMP-агент отправляет trapsink, когда есть авария либо она завершилась.
    194201Для проверки в блоке MC04-DSL-3U вызовем аварию, например, активировав поток E1 на плате E1-08 и сняв чекбокс "маска".
     
    203210В net-snmp доступ по v1/v2c включается директивой {{{com2sec}}} (и {{{com2sec6}}} для IPv6) в файле {{{/etc/snmp/snmpd.conf}}}, которая сопоставляет community string с внутренним именем пользователя. Если такой записи нет, агент отклоняет запросы по v1/v2c ещё на этапе аутентификации, до обращения к группам и правам доступа. Директивы {{{group}}} и {{{access}}}, использующие модели {{{v1}}}/{{{v2c}}}, при этом становятся неиспользуемыми и не влияют на работу SNMPv3, для которого имена пользователей приходят из {{{createUser}}}, а не через {{{com2sec}}}.
    204211
    205 Перед изменением конфига можно сделать резервную копию файла командой:
     212Перед изменением конфига можно сделать резервную копию файла командой:\\
    206213{{{cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak}}}
    207214
    208 Откройте файл командой: 
     215Откройте файл командой:\\
    209216{{{vi /etc/snmp/snmpd.conf}}}
    210217
     
    222229Строки {{{group <...>}}} и связанные с ними записи {{{access}}} можно оставить без изменений, так как без соответствующих записей {{{com2sec}}} они не задействуются.
    223230
    224 Сохраните изменения в файле ({{{Esc -> :wq}}}) и перезапустите {{{snmpd}}} командой:
     231Сохраните изменения в файле ({{{Esc -> :wq}}}) и перезапустите {{{snmpd}}} командой:\\
    225232{{{/etc/init.d/snmpd restart}}}
    226233
     
    232239
    233240Как видно на скриншоте, после изменения файла ответы на SNMP-запросы v1 и v2c действительно перестали приходить.
     241
    234242== Результат настройки ==
    235243
    236 Теперь блок MC04-DSL-3U готов к работе с системой мониторинга по SNMPv3. SNMP-агент принимает защищённые запросы, а SNMP-trapsink передаёт в SnmpB уведомления о возникновении и завершении аварий. Загруженные MIB-файлы позволяют просматривать параметры оборудования в понятном виде и обращаться к нужным OID.
     244Теперь блок MC04-DSL-3U готов к работе с системой мониторинга по SNMPv3. SNMP-агент принимает защищённые запросы, а SNMP trapsink передаёт в SnmpB уведомления о возникновении и завершении аварий. Загруженные MIB-файлы позволяют просматривать параметры оборудования в понятном виде и обращаться к нужным OID.
    237245
    238246Использование USM-профиля с аутентификацией и шифрованием защищает данные во время обмена между блоком и SNMP-менеджером. Отключение SNMPv1 и SNMPv2c при этом исключает подключение по устаревшим версиям протокола, в которых community string передаётся в открытом виде.