Linux_Centos7安装snmp服务
- 1.背景
- 2.目的
- 3.环境
- 4.操作
- 4.1 手动安装snmp协议
- 4.2 批量安装snmp协议
1.背景
收到云平台异常告警,提示ECS服务器在在一分钟内客户端存在多次ssh远程登陆,被判断为ssh远程破解,通过排查得出为运维系统配置过程中错误密码导致,运维系统不断的去ssh远程登陆导致,云平台下发通告,内网内ssh协议只保留用户作为堡垒机远程登陆,而不得用于其他用途。
2.目的
将运维系统现有的ssh协议转换为snmp协议
什么是SNMP协议
SNMP是广泛应用于TCP/IP网络的网络管理标准协议,该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。SNMP采用轮询机制,提供最基本的功能集,适合小型、快速、低价格的环境使用,而且SNMP以用户数据报协议(UDP)报文为承载,因而受到绝大多数设备的支持,同时保证管理信息在任意两点传送,便于管理员在网络上的任何节点检索信息,进行故障排查。默认使用161端口。
3.环境
操作系统 | 版本 |
---|---|
CentOS Linux release | 7.6.1810 (Core) |
4.操作
操作环境分为两步:
- 服务器安装snmp协议
- 运维系统配置snmp协议
本篇以第一部snmp服务安装为例展开操作。
前提服务器配置yum源,互联网接入可以使用系统自带yum源进行操作,局域网使用局域网内的源进行配置。
服务器安装snmp协议,本篇以手动单台安装和批量安装两方面展开介绍。
- 手动安装软件 :单台设备
- 批量安装软件: 多台设备
可以根据自己的业务场景进行合理安排安装方式
4.1 手动安装snmp协议
1、安装snmp服务
yum install net-snmp net-snmp-utils
2、启动snmp服务
systemctl start snmpd
3、配置snmp服务
备份配置文件
cp /etc/snmp/snmpd.conf{,.bak}
编辑配置文件
vi /etc/snmp/snmpd.conf
将41行的团体名由 public 改成 uxsino
4、重启snmp服务
systemctl restart snmpd
5、设置开机自启动
systemctl enable snmpd
6、验证开机启动
systemctl list-unit-files | grep enable | snmpd
4.2 批量安装snmp协议
批量安装需要提前安装ansible工具和配置hosts配置文件
1、创建安装脚本
vi install_snmp.conf
---
- name: Centos7 install snmp serverhosts: gaw_servicesremote_user: roottasks:- name: Install snmp serveransible.builtin.yum:name: net-snmp,net-snmp-utilsstate: latest- name: start snmp serveransible.builtin.service:name: snmpdstate: started- name: Configuration snmpansible.builtin.replace:path: /etc/snmp/snmpd.confregexp: 'com2sec notConfigUser default public'replace: ' com2sec notConfigUser default uxsino'backup: yes- name: restart snmp serveransible.bulitin.service:name: snmpdstate: restartedenable: yes
检测脚本语法
ansible-playbook --check install_snmp.yaml
脚本完整运行未输出异常,执行脚本
ansible-playbook install_snmp.yaml
执行完毕后,从hosts文件的服务器列表中任意筛选出两台服务器验证
ansible test -m shell -a "systemctl status snmpd"