Home » Установка и настройка демона и клиента SNMP на Ubuntu 24.04
Установка и настройка демона и клиента SNMP на Ubuntu 24.04

Установка и настройка демона и клиента SNMP на Ubuntu 24.04

Сегодня разберёмся, как быстро и с минимальными танцами с бубном установить и настроить SNMP-демон и клиента на свежайшей Ubuntu 24.04. Если ты когда-нибудь мониторил серверы, сетевое железо или просто хотел знать, что происходит под капотом твоей инфраструктуры — SNMP (Simple Network Management Protocol) тебе точно пригодится. В этой статье расскажу, зачем он нужен, как работает, как его настроить на практике, и какие фишки можно выжать из этой связки. Всё — на реальных примерах, с командами, советами и даже парой лайфхаков.

Зачем вообще нужен SNMP?

SNMP — это такой старый, но до сих пор крайне полезный протокол для мониторинга и управления устройствами в сети. Он позволяет собирать метрики (нагрузка, память, трафик, температура, да хоть количество открытых файловых дескрипторов) и даже управлять железом (например, перезагрузить порт на свитче). В мире серверов SNMP — это стандарт де-факто для сбора статистики и интеграции с системами мониторинга вроде Zabbix, Nagios, Prometheus (через экспортеры) и других.

Почему это важно? Потому что без мониторинга ты как пилот без приборов: что-то работает, но когда что-то ломается — узнаёшь последним. SNMP позволяет автоматизировать сбор данных, реагировать на события и строить красивые графики. А ещё — это must-have, если у тебя есть железки, которые не умеют отдавать метрики по-человечески (REST, API и т.д.).

Как это работает?

  • SNMP-демон (snmpd) — серверная часть, которая крутится на твоём сервере и отвечает на запросы клиентов. Он отдаёт метрики, которые ты разрешишь.
  • SNMP-клиент (snmpwalk, snmpget и др.) — утилиты, которые делают запросы к демону и получают данные.
  • Менеджер — обычно это система мониторинга, которая собирает данные с разных демонов.

Всё общение происходит по UDP (обычно порт 161), что важно помнить при настройке firewall. SNMP работает по принципу “запрос-ответ”: клиент спрашивает, демон отвечает. Есть несколько версий протокола (v1, v2c, v3), отличающихся уровнем безопасности. Для быстрой настройки чаще всего используют v2c (community-based), но если нужна безопасность — v3 (с авторизацией и шифрованием).

Как быстро и просто всё настроить?

Погнали по шагам. Всё ниже — для Ubuntu 24.04, но подойдёт и для других свежих дистрибутивов.

  1. Устанавливаем пакеты


sudo apt update
sudo apt install snmp snmpd

  1. Базовая настройка демона

Файл конфигурации: /etc/snmp/snmpd.conf

Для теста можно оставить дефолтную community public, но лучше сразу поменять на свою (например, mysecret), чтобы не стать жертвой сканеров.


# Открываем на редактирование
sudo nano /etc/snmp/snmpd.conf

Ищем строку:


rocommunity public default -V systemonly

Меняем на:


rocommunity mysecret default -V systemonly

Если нужно, чтобы SNMP был доступен не только с localhost, ищем строку:


agentAddress udp:127.0.0.1:161

Меняем на:


agentAddress udp:161,udp6:[::1]:161

(Осторожно: теперь SNMP будет слушать на всех интерфейсах! Не забудь про firewall.)

  1. Перезапускаем демон


sudo systemctl restart snmpd
sudo systemctl enable snmpd

  1. Проверяем работу клиента


snmpwalk -v2c -c mysecret localhost

Если видишь кучу строк с OID и значениями — всё работает!

Примеры, схемы, практические советы

Кейс Что делаем Результат Рекомендации
Мониторинг CPU и RAM snmpwalk -v2c -c mysecret localhost .1.3.6.1.4.1.2021.4 Получаем инфу о памяти Используй OID из UCD-SNMP-MIB
Мониторинг сетевых интерфейсов snmpwalk -v2c -c mysecret localhost ifDescr Список интерфейсов Для трафика — смотри ifInOctets, ifOutOctets
Безопасность Ограничить доступ по IP SNMP доступен только с нужных адресов Используй com2sec и access в snmpd.conf
Интеграция с Zabbix Добавить SNMP host Автоматический сбор метрик Используй шаблоны Zabbix SNMP

Положительные и отрицательные кейсы

  • Плюс: SNMP легко интегрируется с большинством систем мониторинга. Например, если у тебя Zabbix — добавляешь SNMP-хост, и всё работает из коробки.
  • Минус: Если оставить community public и открыть порт наружу — жди сканеров и потенциальных проблем. SNMP v2c не шифрует трафик, так что лучше ограничивать доступ по IP и использовать v3, если есть возможность.
  • Плюс: Можно быстро получить метрики без установки дополнительных агентов.
  • Минус: Не все метрики доступны по SNMP, иногда приходится писать свои MIB или использовать расширения.

Команды для быстрой работы


# Получить список доступных OID
snmpwalk -v2c -c mysecret localhost

# Получить конкретную метрику (например, загрузку CPU)
snmpget -v2c -c mysecret localhost .1.3.6.1.4.1.2021.11.9.0

# Проверить доступность SNMP с другого хоста
snmpwalk -v2c -c mysecret 192.168.1.100

Похожие решения, программы и утилиты

  • Net-SNMP — основной пакет для Linux (net-snmp.org).
  • snmptrapd — демон для приёма SNMP trap-сообщений (уведомления о событиях).
  • snmptranslate — утилита для работы с MIB и OID.
  • Prometheus SNMP Exporter — мост между SNMP и Prometheus (github.com/prometheus/snmp_exporter).
  • snmp-mibs-downloader — для загрузки MIB-файлов, если хочется видеть красивые имена вместо OID.

Статистика, сравнение с другими решениями

Решение Плюсы Минусы
SNMP Стандарт, поддержка железа, простота Безопасность (v2c), не всегда удобно расширять
SSH-агенты (например, check_by_ssh) Гибкость, безопасность Сложнее автоматизация, нагрузка на CPU
REST API Современно, удобно для кастомных сервисов Не поддерживается железом, требует доработки

Интересный факт: SNMP был придуман ещё в 1988 году, но до сих пор используется в дата-центрах и на предприятиях по всему миру. Даже современные IoT-устройства часто поддерживают SNMP для мониторинга.

Нестандартные способы использования

  • Автоматизация: скрипты на bash/python, которые по SNMP получают метрики и принимают решения (например, если температура выше X — отправить уведомление в Telegram).
  • Инвентаризация: быстро собрать список железа и версий прошивок по SNMP с десятков серверов/свитчей.
  • Тестирование: использовать SNMP для проверки доступности сервисов (например, если SNMP перестал отвечать — сервер завис).

Новые возможности и автоматизация

  • Интеграция с Ansible: автоматическая настройка snmpd на сотнях серверов.
  • Гибкая фильтрация метрик: отдавать только нужные OID, чтобы не светить всё подряд.
  • SNMP traps: получать уведомления о событиях (например, перегрев, отказ диска) без постоянного опроса.
  • Скрипты для сбора кастомных метрик: расширяй snmpd через exec/extend — отдавай свои данные (например, статус RAID, температуру NVMe и т.д.).

Выводы и рекомендации

SNMP — это не только про “олдскул”, но и про надёжность, совместимость и простоту интеграции. Если тебе нужно быстро и без лишних заморочек собрать метрики с серверов, железа или даже виртуалок — SNMP подойдёт идеально. Главное — не забывай про безопасность: меняй community, ограничивай доступ по IP, используй v3, если есть возможность. Для автоматизации и скриптов SNMP — просто находка: можно собирать любые данные, строить алерты и даже управлять устройствами.

Если ты только начинаешь строить свою инфраструктуру или хочешь попробовать всё это на практике — возьми VPS или выделенный сервер, настрой SNMP, подключи к Zabbix или Prometheus и наслаждайся графиками и алертами. Проверено на бою — работает стабильно и предсказуемо.

Официальная документация и полезные ссылки:

Пробуй, экспериментируй, автоматизируй — и пусть твои серверы всегда будут под контролем!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked