Categories: CentOSlinux

Установка и настройка SNMP в CentOS

Протокол SNMP (Simple Network Management Protocol) используется для получения информации о текущем состоянии серверов, сетевых устройств, принтеров и другого IP оборудования (можно собирать различные метрики: загрузка CPU, количество процессов, состояние служб и многое другое). Основные преимущества SNMP – он поддерживается практически на любых устройствах и не требует установки отдельного агента системы мониторинга. В этой статье мы рассмотрим, как установить и настроить SNMP агент (и SNMP v3) на сервере под управлением Linux CentOS 8 .

Установка агента SNMP и утилит диагностики в CentOS Linux

Перед установкой пакетов SNMP, сначала установите на сервере последние обновления с помощью пакетного менеджера dnf ( yum ):

# dnf update -y

Затем установите агент SNMP и дополнительные утилиты из стандартного репозитория :

# dnf install net-snmp net-snmp-utils -y

Настройка SNMP агента в CentOS

Перед началом настройки параметров SNMP сервиса, создайте копию оригинального конфигурационного файла:

# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

Теперь отредактируйте настройки SNMP агента:

# nano /etc/snmp/snmpd.conf

Добавьте следующие строки:

rocommunity public syslocation MSK-DC1 syscontact [email protected]
Это три базовых объекта протокола SNMP. Разбро всех опций конфигурации агента Net-SNMP выходит за рамки статьи.

Сохраните файл (локацию и почтовый ящик желательно указать корректные). Теперь нужно добавить в автозагрузку сервис snmpd и запустить его:

# systemctl enable snmpd.service
# systemctl start snmpd

Проверьте, что сервис запущен:

# systemctl status snmpd

Если на сервере используется файерволл, нужно разрешить подключение к портам 161 и 162 TCP/UDP. Для firewalld в CentOS можно выполнить такие команды:

# firewall-cmd --zone=public --add-port=161/udp --permanent
# firewall-cmd --zone=public --add-port=161/tcp –permanent
# firewall-cmd --zone=public --add-port=162/udp --permanent
# firewall-cmd --zone=public --add-port=162/tcp --permanent
# firewall-cmd --reload

Опрос SNMP агента с помощью утилиты snmpwalk

С помощью утилиты snmpwalk вы можете опросить SNMP агент. Для локальной проверки службы по протоколу SMMPv2 используется команда:

# snmpwalk -v 2c -c public -O e 127.0.0.1

Если SNMP настроен корректно, вы получите от агента набор SNMP данных.

После настройки конфигурационного файла и запуска проверочной команды, я получил ошибку:
Timeout: No Response from localhost

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

Также вы можете опросить сервер локально командой:

# snmpwalk -v2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux server.build-centos.info 4.18.0-147.8.1.el8_1.x86_64 #1 SMP Thu Apr 9 13:49:54 UTC 2020 x86_64_x000D_SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10_x000D_DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (106564) 0:17:45.64_x000D_SNMPv2-MIB::sysContact.0 = STRING: [email protected]_x000D_SNMPv2-MIB::sysName.0 = STRING: server.build-centos.info_x000D_SNMPv2-MIB::sysLocation.0 = STRING: MSK-DC01_x000D_~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_x000D_SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00_x000D_SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00_x000D_SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00_x000D_SNMPv2-MIB::sysORUpTime.9 = Timeticks: (0) 0:00:00.00_x000D_SNMPv2-MIB::sysORUpTime.10 = Timeticks: (0) 0:00:00.00

Затем проверьте, что ваш SNMP агент доступен удаленно. Выполните следующую команду с другого сервера (нужно предварительно установить утилиты snmp):

# snmpwalk -v2c -c public 10.10.22.225 system

Как видите, удаленный сервер получил с сервера информацию по протоколу SNMP . Теперь вы можете добавить сервер в любую из систем мониторинга, работающую по SNMP (например, Zabbix или Cacti) .

Настройка протокола SNMP v3 в CentOS

В первой части статьи мы рассматривали, как настроить SNMP агент, который работает по версиям протокола 1 и 2. SNMPv3 – это более современная и безопасная версия протокола. Оно из преимуществ которого — возможность аутентификации и шифрования. Для настройки SNMPv3 вам нужно создать отдельного пользователя с паролем, задать пароль шифрования, права доступа и алгоритм шифрования (MD5 или SHA).

Чтобы создать пользователя для SNMP v3, нужно остановить сервис snmpd:

# systemctl stop snmpd

Теперь можно создать пользователя:

# net-snmp-create-v3-user -ro -A 123456789 -a SHA -X 1234567890 -x AES snmpuser

Синтаксис команды net-snmp-create-v3-user:

net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]

  • -ro — read-only, то есть пользователь только для чтения
  • Authpass — пароль аутентификации
  • Privpass — приватный ключ
  • Username — пользователь

После запуска команды, у вас будет создан пользователь с заданными паролем и ключом:

Запустите сервис:

# systemctl start snmpd

Попробуйте опросить SNMP агент с помощью утилиты snmpwalk (обратите внимание, для опроса по SNMPv3 нужно указывать имя пользователя, пароль и ключ).

# snmpwalk -v3 -a SHA -A 123456789 -x AES -X 1234567890 -l authPriv -u snmpuser localhost | head

Теперь вы смело можете добавлять свой сервер в любую систему мониторинга, работающую по SNMP.

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

1 неделя ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

1 неделя ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

1 неделя ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

1 неделя ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

1 неделя ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

1 неделя ago