Найти в Дзене

Snmp linux

SNMP (Simple Network Management Protocol) — протокол для удалённого мониторинга и управления сетевыми устройствами (маршрутизаторами, коммутаторами, серверами и др.). Работает по модели «менеджер — агент» через UDP‑порты 161 (агент) и 162 (менеджер). Для Debian/Ubuntu: sudo apt update
sudo apt install snmp snmpd snmp-mibs-downloader Для CentOS/RHEL: sudo yum update
sudo yum install net-snmp net-snmp-utils
Оглавление

SNMP в Linux: установка, настройка и использование

SNMP (Simple Network Management Protocol) — протокол для удалённого мониторинга и управления сетевыми устройствами (маршрутизаторами, коммутаторами, серверами и др.). Работает по модели «менеджер — агент» через UDP‑порты 161 (агент) и 162 (менеджер).

Версии SNMP

  • SNMPv1 — базовая, слабая безопасность.
  • SNMPv2c — улучшенная производительность, но аутентификация по «community string» (паролю).
  • SNMPv3 — самая безопасная: поддержка аутентификации, шифрования и контроля доступа.

Компоненты

  • SNMP‑менеджер — ПО для сбора данных (например, Zabbix, Nagios).
  • SNMP‑агент — служба на управляемом устройстве (в Linux — snmpd).
  • MIB (Management Information Base) — база объектов, описывающая параметры устройства.
  • OID (Object Identifier) — уникальный числовой путь к параметру в MIB.

Установка SNMP

Для Debian/Ubuntu:

sudo apt update
sudo apt install snmp snmpd snmp-mibs-downloader

Для CentOS/RHEL:

sudo yum update
sudo yum install net-snmp net-snmp-utils

Настройка агента (snmpd)

  1. Создайте резервную копию конфига:sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.backup
  2. Отредактируйте /etc/snmp/snmpd.conf:
    Разрешите доступ с нужных IP (пример для локальной сети):com2sec localnet default 192.168.1.0/24

    Задайте community string (аналог пароля) для чтения:rocommunity mysecret 192.168.1.0/24

    Для SNMPv3 создайте пользователя (более безопасно):createUser snmpv3user SHA "authpass" AES "privpass"
  3. Перезапустите службу:sudo systemctl restart snmpd
    sudo systemctl enable snmpd # автостарт при загрузке
  4. Откройте порты в firewall (если активен):
    UFW (Ubuntu):
    sudo ufw allow 161/udp
    sudo ufw reload

    firewalld (CentOS/RHEL):sudo firewall-cmd --permanent --add-service=snmp
    sudo firewall-cmd --reload

Тестирование

  1. Проверьте статус службы:sudo systemctl status snmpd
  2. Получите системные данные (SNMPv2c):snmpwalk -v 2c -c mysecret localhost .1.3.6.1.2.1.1

    -v 2c — версия протокола;
    -c mysecret — community string;
    localhost — адрес устройства;
    .1.3.6.1.2.1.1 — OID для системных параметров.
  3. Проверьте конкретный OID (например, hostname):snmpget -v 2c -c mysecret localhost sysName.0
  4. Для SNMPv3 (с аутентификацией):snmpwalk -v 3 -u snmpv3user -a SHA -A "authpass" -x AES -X "privpass" localhost

Полезные команды

  • Список всех OID:snmpwalk -v 2c -c mysecret localhost
  • Информация о загрузке CPU:snmpget -v 2c -c mysecret localhost .1.3.6.1.4.1.2021.10.1.3.1.1.5.1
  • Состояние интерфейсов:snmptable -v 2c -c mysecret localhost ifTable

Безопасность

  1. Используйте SNMPv3 вместо v1/v2c (аутентификация + шифрование).
  2. Ограничьте доступ по IP в snmpd.conf.
  3. Измените community string с public/private на сложный пароль.
  4. Мониторьте логи на подозрительные запросы:tail -f /var/log/syslog | grep snmp

Распространённые проблемы

  • «Timeout» — проверьте:
    запущен ли snmpd;
    открыт ли порт 161 в firewall;
    корректность community string/IP.
  • «Unknown OID» — убедитесь, что MIB‑файлы установлены (snmp-mibs-downloader).
  • «Permission denied» — проверьте права доступа в snmpd.conf.

Дополнительные инструменты

  • tkmib (GUI для просмотра MIB):sudo apt install tkmib # Debian/Ubuntu
    sudo yum install net-snmp-gui # CentOS/RHEL
  • snmpbulkwalk — быстрый сбор данных по поддереву OID.
  • snmpstatus — общая сводка о состоянии устройства.

Где искать OID

  • В документации устройства.
  • В файлах MIB (обычно в /usr/share/snmp/mibs/).
  • Через snmpwalk с корневым OID .1.