Настройка сервера snmp linux

Настройка сервера snmp linux

Расскажу немно о пратоколе SNMP и основах работы с трапами (TRAP) на хостах под управление ОС Linux Mint, Ubuntu, Debian и.п. Рассмотрим процесс установки и настройки необходимых утилит и демонов, таких как, snmp, snmpd и snmptrapd.

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

Установка snmp, snmpd snmptrapd в Ubuntu, Debian, Linux Mint

1. Пакет snmp включает в себя базавый набор библиотек и утилит необходимых для работы и отладки (например утилиту snmpwalk).

user@pc:~$ sudo apt-get install snmp

2. Демон snmpd необходим для управления и получения данных с нашего хоста по протоколу snmp.

user@pc:~$ sudo apt-get install snmpd

3. Демон snmptrapd необходим для получения трапов от хостов.

user@pc:~$ sudo apt-get install snmptrapd

Настройка snmptrapd в Ubuntu, Debian, Linux Mint

Файл настроек демона snmptrapd находиться в файле «/etc/snmp/snmptrapd.conf».

1. Первым делом устанавливаем community, для этого правим файл настроек «/etc/snmp/snmptrapd.conf». В большинстве случаев в качестве community устанавливаем public, но это необязательно, можете поставить какой-нибудь свой.

authCommunity log,execute,net public

2. Далее включаем опцию на автоматический запуск snmptrapd в файле настроек «/etc/default/snmptrapd».

3. Перезапускаем snmptrapd.

user@pc:~$ sudo /etc/init.d/snmptrapd restart [ ok ] Restarting snmptrapd (via systemctl): snmptrapd.service.
или
user@pc:~$ sudo service snmptrapd restart

4. Проверяем слушет наш демон 162-q порт.

user@pc:~$ sudo netstat -nlup | grep 162 udp 0 0 0.0.0.0:162 0.0.0.0:* 2337/snmptrapd

5. Для проверки запустим тестовый trap на себя (127.0.0.1), с помощю утилиты snmptrap.

user@pc:~$ sudo snmptrap -c public -v 2c 127.0.0.1 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 s "My First TRAP"

Смотрим файл сислога «/var/log/syslog», должна появиться строка о получение trap-а. Для просмотра syslog-а воспользуемся утилитой tail.

user@pc:~$ sudo tail -n 1 /var/log/syslog Feb 12 15:26:59 pc snmptrapd[2337]: 2016-02-12 15:26:59 localhost [UDP: [127.0.0.1]:56096->[127.0.0.1]:162]:#012iso.3.6.1.2.1.1.3.0 = Timeticks: (2324004) 6:27:20.04#011iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.3.3.3.3.3.3#011iso.2.2.2.2.2.2 = STRING: "My First TRAP"

Видно что хост получил трап о чем свидетельствует запись в сислоге. Также проверим приходят ли трапы с удаленных хостов.

user@pc:~$ sudo snmptrap -c public -v 2c 192.168.2.100 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 s "My First TRAP REMOTE-HOST"

где 192.168.2.100 -ip адрес хоста на который отправляем трап.

Читайте также:  How to see used ports linux

Смотрим еще раз последнюю строку файла сислога «/var/log/syslog», должна появиться строка о получение trap-а с удалленого хоста.

user@pc:~$ sudo tail -n 1 /var/log/syslog Feb 15 17:38:31 pc snmptrapd[7274]: 2016-02-15 17:38:31 remote.host [UDP: [192.168.100.100]:54159->[192.168.100.100]:162]:#012iso.3.6.1.2.1.1.3.0 = Timeticks: (1789468029) 207 days, 2:44:40.29#011iso.3.6.1.6.3.1.1.4.1.0 = OID: iso.3.3.3.3.3.3.3#011iso.2.2.2.2.2.2 = STRING: "My First REMOTE-HOST"

Настройка snmpd в Ubuntu, Debian, Linux Mint

Файла настроек демона snmpd находиться в «/etc/snmp/snmpd.conf». После установки snmpd, по умолчанию, он должен работать на localhost-е.

1. Проверка работы snmpd с помощю утилиты snmpwalk.

user@pc:~$ sudo snmpwalk -v 2c -c public localhost iso.3.6.1.2.1.1.1.0 = STRING: "Linux pc 4.2.0-27-generic #32-Ubuntu SMP Fri Jan 22 04:49:08 UTC 2016 x86_64" iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10 iso.3.6.1.2.1.1.3.0 = Timeticks: (81564) 0:13:35.64 iso.3.6.1.2.1.1.4.0 = STRING: "Me Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.>" iso.3.6.1.2.1.1.5.0 = STRING: "pc" iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay" .

Видно что по snmp отдаються данные с localhost.

Если вам надо опрашивать ваш host с другого адреса (например с удаленного компа) или порта (нестандартного порта), то надо изменить в файле настроек «/etc/snmp/snmpd.conf» строку.

Настройки по умолчанию: agentAddress udp:127.0.0.1:161 Пример: agentAddress udp:192.168.1.100:162

где 192.168.1.100 — ip адрес вашего хоста, 162 — порт на хосте.

2. Изменение параметров «sysLocation» и «sysContact», для более легкой идентификации трапа.

Настройки по умолчанию: sysLocation Sitting on the Dock of the Bay sysContact Me
Пример:
sysLocation MY HOST
sysContact MY EMAIL

3. Изменение дефолтного значения community.

По умолчанию в качестве community установлено public, это значение можно изменить в файле настроек «/etc/snmp/snmpd.conf».

Настройки по умолчанию: rocommunity public default -V systemonly Пример: rocommunity private default -V systemonly

где «private» — новое значение community. Параметры «default -V systemonly» являються необязательными, я рекомендую их оставить, т.к. без них, хост будет отдавать по snmp огромное количество всякой ненужной информации.

Читайте также:  Системы linux для начинающих

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

user@pc:~$ sudo /etc/init.d/snmpd restart [ ok ] Restarting snmpd (via systemctl): snmpd.service.
или
user@pc:~$ sudo service snmpd restart

Вот и все. Я постарался кратко рассказать о первоначальной настройки демонов snmpd и snmptrapd. Комментируем, подписываемся ну и всем пока:)

Источник

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

date

14.10.2020

user

VyacheslavK

directory

CentOS, Linux

comments

Один комментарий

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

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

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

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

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

установка snmp агента и утилит диагностики в linux centos

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

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

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

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

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

Это три базовых объекта протокола SNMP. Разбро всех опций конфигурации агента Net-SNMP выходит за рамки статьи.

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

# systemctl enable snmpd.service
# systemctl start snmpd

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

проверка статуса службы snmpd в linux

Если на сервере используется файерволл, нужно разрешить подключение к портам 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

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

Читайте также:  How to update gradle linux

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

# 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 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (106564) 0:17:45.64 SNMPv2-MIB::sysContact.0 = STRING: [email protected] SNMPv2-MIB::sysName.0 = STRING: server.build-centos.info SNMPv2-MIB::sysLocation.0 = STRING: MSK-DC01 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.9 = Timeticks: (0) 0:00:00.00 SNMPv2-MIB::sysORUpTime.10 = Timeticks: (0) 0:00:00.00

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

# snmpwalk -v2c -c public 10.10.22.225 system

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

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

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

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

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

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

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

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

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

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

создать пользователя для snmpv3 net-snmp-create-v3-user

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

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

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

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

Оцените статью
Adblock
detector