Linux сервер VLAN теги с использованием SNMP

Вопрос или проблема

У меня есть несколько серверов Linux, которые я должен мониторить. Каждый из них имеет настроенные интерфейсы VLAN. Есть ли способ считать теги VLAN для интерфейсов на сервере Linux с помощью SNMP? Нужно ли что-то устанавливать? Какой MIB подходит?

Я не смог найти никакой информации по этому вопросу в Интернете.

К сожалению, Net-SNMP snmpd не предоставляет информацию о VLAN по умолчанию. Для этого необходимо настроить пользовательское расширение.

(Я думаю, что некоторые проприетарные драйверы сетевых карт Intel для Linux включали агент расширения SNMP, который мог предоставлять информацию о тегах VLAN, но я не думаю, что это расширение больше поддерживается… и оно работало бы только с драйверами сетевых карт Intel.)

Быстрый и простой способ сделать это — настроить /etc/sudoers для разрешения запуска snmpd команды cat /proc/net/vlan/config от имени root, а затем использовать директиву extend в snmpd.conf для ее выполнения.

В Debian 12, snmpd выполняется от имени непривилегированного пользователя Debian-snmp, поэтому вам нужна эта строка в /etc/sudoers[.d]:

Debian-snmp ALL = (root) NOPASSWD: /usr/bin/cat /proc/net/vlan/config

И эта строка в /etc/snmp/snmpd.conf[.d]:

extend -cacheTime 300 vlan /usr/bin/sudo /usr/bin/cat /proc/net/vlan/config

Затем информацию можно запросить с помощью:

snmptable <параметры аутентификации> <имя хоста> NET-SNMP-EXTEND-MIB::nsExtendOutput2Table

или без установленных MIB, используя:

snmpwalk <параметры аутентификации> <имя хоста> .1.3.6.1.4.1.8072.1.3.2.4

Ответ или решение

Для мониторинга состояния и конфигурации сетевых интерфейсов, включая VLAN (виртуальные локальные сети) на Linux серверах с использованием SNMP (Simple Network Management Protocol), необходимо решать несколько задач, так как стандартный пакет snmpd (SNMP демон) не предоставляет необходимую информацию о VLAN без дополнительных настроек.

Теория

SNMP — это широко используемый протокол для управления сетью, который позволяет администраторам сети отслеживать и контролировать сетевые устройства, выяснять характеристики сетевых интерфейсов и получать доступ к другим важным данным. Протокол SNMP использует MIB (Management Information Base) — базу данных объектов, которую можно просматривать, используя SNMP команды.

На серверах Linux SNMP может быть использован для мониторинга разных параметров, но, как вы правильно заметили, информация о VLAN-тегах интерфейсов по умолчанию не поддерживается. Для получения таких данных необходимо настроить расширения к snmpd. Для этого применяется конфигурация через /proc/net/vlan/config, файл, который содержит информацию о сконфигурированных VLAN интерфейсах.

Пример

Для решения задачи по мониторингу VLAN-тегов вам потребуется выполнить следующие шаги:

  1. Конфигурация sudo:

    Поскольку snmpd работает от имени непривилегированного пользователя, например, Debian-snmp в Debian 12, необходимо предоставить этому пользователю возможность запускать определенные команды с привилегиями root. Это достигается посредством добавления в файл конфигурации sudo (обычно /etc/sudoers или /etc/sudoers.d/) следующей строки:

    Debian-snmp ALL = (root) NOPASSWD: /usr/bin/cat /proc/net/vlan/config

    Это позволяет пользователю Debian-snmp выполнять команду cat /proc/net/vlan/config без ввода пароля.

  2. Настройка snmpd:

    Далее, посредством использования команды extend в конфигурационном файле snmpd, например, /etc/snmp/snmpd.conf, можно настроить выполнение этой команды:

    extend -cacheTime 300 vlan /usr/bin/sudo /usr/bin/cat /proc/net/vlan/config

    Директива extend позволяет запускать пользовательскую команду и кешировать результат на 300 секунд (можно изменить по вашему усмотрению).

  3. Запрос данных:

    После завершения настройки можно запрашивать информацию о VLAN, используя SNMP команду snmptable или snmpwalk, в зависимости от ваших предпочтений и наличия настроек MIB:

    snmptable <опции аутентификации> <имя_хоста> NET-SNMP-EXTEND-MIB::nsExtendOutput2Table

    Или без предварительно установленных MIB:

    snmpwalk <опции аутентификации> <имя_хоста> .1.3.6.1.4.1.8072.1.3.2.4

Применение

Этот подход позволяет мониторить VLAN без изменения существующей структуры сети и использовать обширные возможности SNMP для интеграции с системами мониторинга. Однако стоит учитывать, что подобная реализация может накладывать ответственность на безопасность из-за использования sudo без пароля, хоть и для каждой конкретной команды. Это объясняет, почему предоставляемый доступ необходимо организовать с максимальной осмотрительностью и минимальными привилегиями.

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

Таким образом, ваши сервера на Linux смогут предоставлять актуальную информацию о VLAN-тегах, что может стать неотъемлемой частью инфраструктуры мониторинга и управления вашей сети.

Оцените материал
Добавить комментарий

Капча загружается...