Linux_Centos7安装snmp服务

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端口。

Linux_Centos7安装snmp服务_第1张图片

3.环境

操作系统 版本
CentOS Linux release 7.6.1810 (Core)

4.操作

操作环境分为两步:

  1. 服务器安装snmp协议
  2. 运维系统配置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 server
  hosts: gaw_services
  remote_user: root

  tasks:
  - name: Install snmp server
    ansible.builtin.yum:
      name: net-snmp,net-snmp-utils
      state: latest
  - name: start snmp server
    ansible.builtin.service:
      name: snmpd
      state: started
  - name: Configuration snmp
    ansible.builtin.replace:
      path: /etc/snmp/snmpd.conf
      regexp: 'com2sec notConfigUser  default       public'
      replace: ' com2sec notConfigUser  default       uxsino'
      backup: yes
  - name: restart snmp server
    ansible.bulitin.service:
      name: snmpd
      state: restarted
      enable: yes

检测脚本语法

ansible-playbook --check install_snmp.yaml

脚本完整运行未输出异常,执行脚本

ansible-playbook install_snmp.yaml

执行完毕后,从hosts文件的服务器列表中任意筛选出两台服务器验证

ansible test -m shell -a "systemctl status snmpd"

你可能感兴趣的:(服务器环境搭建,linux,php,运维)