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

SNMP ( Simple Network Management Protocol — простой протокол сетевого управления ) — стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектуры TCP/UDP. К поддерживающим SNMP устройствам относятся маршрутизаторы, коммутаторы, серверы, рабочие станции, принтеры и другие. Протокол обычно используется в системах сетевого управления для контроля подключённых к сети устройств на предмет условий, которые требуют внимания администратора.

В этом руководстве я опишу процесс установки и настройки службы SNMP v3 в CentOS 7.

Установка SNMP

Установка SNMP доступна из стандартного репозитория CentOS.
Для установки выполняем:

# Устанавливаем пакеты net-snmp, net-snmp-utils и net-snmp-devel 
yum install net-snmp net-snmp-utils net-snmp-devel

Настройка

Для работы по SNMP v3 нам требуется авторизация, потому нам необходимо добавить пользователя и мы рассмотрим несколько способов:

  • Командная строка
  • Интерактивная
  • Вручную

1 . Командная строка

Добавить пользователя мы можем из командной строки используя net-snmp-config —create-snmpv3-user

# Полный синтаксис
net-snmp-create-v3-user [-ro] [-A authpass] [-X privpass] [-a MD5|SHA] [-x DES|AES] [username]

# В нашем случае выполняем
# Шифрование мы не задали, по умолчанию будет DES
net-snmp-config --create-snmpv3-user -a MD5 -A pass123 user1 

2 . Интерактивная

Добавить пользователя мы можем интерактивным способом, используя команду net-snmp-create-v3-user

# Выполняем
net-snmp-create-v3-user

Введите имя пользователя SNMPv3 для создания:
   user01
Введите пароль аутентификации:
   pass123
Введите пароль шифрования:
   [нажмите return для повторного использования пароля аутентификации]

Добавлена следующую строку в /var/lib/net-snmp/snmpd.conf:
createUser user01 MD5 "pass01" DES pass01 
Добавлена следующую строку в /etc/snmp/snmpd.conf:
rwuser user01

3 . Вручную

Чтобы добавить пользователя вручную — необходимо отредактировать следующие файлы:

  • /var/lib/net-snmp/snmpd.conf
  • /etc/snmp/snmpd.conf
# Добавляем в /var/lib/net-snmp/snmpd.conf 
createUser user01 MD5 "pass123" DES pass123 

# Добавляем  /etc/snmp/snmpd.conf
rwuser pass123

Старт сервиса SNMP

# Включаем запуск SNMP при старте системы и стартуем
chkconfig snmpd on
service snmpd start

Настройка Firewall

По умолчанию в CentOS используется FirewallD — это новая служба для динамического управления межсетевым экраном с поддержкой доверенных зон сетевых соединений или интерфейсов.

# Разрешаем входящие 161 порт UDP
firewall-cmd --permanent --zone=public --add-port=161/udp
# Для iptables
iptables -A INPUT -p udp -s 192.168.100.81 --dport 161 -m state --state NEW,ESTABLISHED -j ACCEPT

Траблшутинг

# Для проверки выполним
snmpwalk -v3 -u user01 -l authNoPriv -a MD5 -A pass123 localhost

# -v3 - указывает версию
# -u  - указывает имя пользователя
# -l  - указывает уровень безопасности
# -a  - указывает протокол аутентификации
# -A  - указывает пароль