Начиная с версии операционной системы KeeneticOS 2.08 реализован SNMP-сервер для получения информации о состоянии интернет-центра Keenetic по протоколу SNMPv1/2c. Для его работы должен быть установлен специальный компонент системы "Сервер SNMP". Установить его можно на странице "Общие настройки" в разделе "Обновления и компоненты", нажав на "Изменить набор компонентов".
После установки компонента необходимо запустить SNMP-сервер через интерфейс командной строки (CLI) интернет-центра с помощью команды service snmp
Отключить сервер можно командой no service snmp
После выполнения команды необходимо их сохранить в энергонезависимой памяти устройства с помощью команды system configuration save
Также в настройках сервера можно указать параметры community, contact и location.
snmp community — задает новое имя SNMP-сообщества, по умолчанию public. Сообщество обеспечивает простую безопасность и проверку этого текстового поля при обращении.
snmp contact — устанавливает контактное имя (по умолчанию не определено). Здесь для удобства можно указать ответственного за данное оборудование, например, фамилию.
snmp location — устанавливает расположение оборудования (по умолчанию не определенно). Здесь для удобства можно указать город, улицу, район, номер комнаты и т.п.
Проверим работу SNMP через бесплатное приложение iReasoning MIB Browser в ОС Windows (в операционных системах Linux можно использовать стандартный пакет snmp). В настройках подключения необходимо указать IP-адрес, порт (по умолчанию) и SNMP community (Read Community) — public.
Загрузите недостающие MIB-файлы. Перейдите в меню File и нажмите Load MIBs.
После этого можно пробовать запросить определенный OID для получения информации.
Например, проверим информацию, которую задали в Contact и Location и посмотрим время работы устройства.
Кроме того, можно получить все возможные OID'ы, которые поддерживает Keenetic, используя режим SNMP Walk.
Пример вывода SNMP Walk для модели Keenetic GIGA III вы найдете в файле SNMP_walk_GIGA_III.xml
Поддерживаемые MIB-файлы можно найти в файле MIBs.zip
Доступные OID'ы для интернет-центра серии Keenetic можно найти в справочнике по командному интерфейсу CLI, который доступен в Центре загрузки.
Обращаем ваше внимание, что рассмотренный выше пример приведен для доступа к интернет-центру из локальной сети. Если вы хотите настроить получение информации о состоянии Keenetic по протоколу SNMP со стороны внешней сети (из Интернета), нужно дополнительно в роутере создать разрешающие правила для прохождения трафика по TCP и UDP порту 161.
NOTE: Важно! Обязательно смените SNMP community по умолчанию public на другое значение (например, keenetic). Это необходимо для безопасности роутера при работе в сети Интернет.
Затем выполните запрос на получение нужной информации.
Например (запрос выполнен из ОС Linux с установленным пакетом snmp):
~ $ snmpget -v2c -ckeenetic 86.87.88.89 .1.3.6.1.2.1.1.3.0
iso.3.6.1.2.1.1.3.0 = Timeticks: (21111146) 2 days, 10:38:31.46
Для просмотра всех интерфейсов и данным по ним, можно выполнить указанные ниже действия.
В MIB Browser перейдите в раздел MIB Tree > mgmt > mib-2 > interfaces > ifTable
Именно он показывает статистику по интерфейсам.
Нажмите правой кнопкой мыши по ifTable и затем выберите Table View.
После этого, можно увидеть полную таблицу всех настроенных интерфейсов в Keenetic, и различные счетчики трафика, которые доступны на устройстве.
Например, доступен трафик как по портам встроенного коммутатора, так и по PPPoE, L2TP и других интерфейсов настроенных в Keenetic.
Названия этих интерфейсов доступны в колонке ifDescr.
Статистика по трафику доступна в колонках ifInOctets/ifOutOctets.
Чтобы узнать конкретный OID для определенного интерфейса, нужно найти эту ячейку в таблице и нажать на нее.
После этого внизу таблицы, будет указан OID этого параметра для нужного интерфейса.
Ниже приведён пример для интерфейса PPPoE, для счетчика входящего (In) трафика ifInOctets (OID .1.3.6.1.2.1.2.2.1.10.29)
Обращаем ваше внимание, что ветка interfaces содержит 32-битные счетчики трафика, которые обнуляются при достижении 4 Гб трафика. А есть другая ветка, где представлены счетчики 64-битные.
Перейдите в раздел MIB Tree > mgmt > mib-2 > ifMIB > ifMIBObjects > ifXEntry
Откройте таблицу всех интерфейсов и портов, нажав Table View.
Параметр ifHCInOctets для ISP будет значение байт входящих (In) в интерфейс (OID .1.3.6.1.2.1.31.1.1.1.8.12), а ifHCOutOctets для исходящих в интерфейс.
Также посмотреть OID интерфейса можно из ОС Linux с установленным пакетом snmp. Например:
~ $ snmpwalk -v 2c -c public -O fn 192.168.1.1 |grep ISP
.1.3.6.1.2.1.31.1.1.1.1.9 = STRING: ISP