Linux平台下snmp服务的安装和配置

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: snmp是用来监控服务器运行状态的一种服务。 部署监控系统的时候需要用到,比如zabbix,当然,也可以直接用ssh来进行验证监控,但也会有一些安全性的问题。
snmp是用来监控服务器运行状态的一种服务。

部署监控系统的时候需要用到,比如zabbix,当然,也可以直接用ssh来进行验证监控,但也会有一些安全性的问题。


安装

yum install net-snmp
snmp版本有v1、v2、v3三个级别可以选择
一般默认就会使用v1或者v2,不过这两个安全性较低,只有通过一个共同体名来进行验证,不过我们可以通过IP来进行限制。
v3级别可以设置用户名和密码才能进行监控。

v1/v2配置
vim /etc/snmp/snmpd.conf
需要改动的地方一般也就下面四个地方:
1.1)
# sec.name source community
com2sec notConfigUser default public
#sec.name(别名):用在下面配置的组中,用来赋予权限,是只读还是读写
#source(来源)是允许哪个地址来连接你的snmp,default默认是允许任何主机来连接。如果写一个IP是只允许 192.168.1.110这个地址来连接,如果你需要使用一个网段的话,那么就可以这么写了192.168.1.0/24。
#community是共同体的名称,你用client连接snmp使用的,相当于密码

1.2)
# groupName securityModel securityName
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
#定义一个组名(groupName)这里是 notConfigGroup,及组的安全级别
notConfigUser就是前面定义的用户别名,把这个用户加到这个组中。

1.3)
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1

snmp默认配置只能查看.1.3.6.1.2.1.1和.1.3.6.1.2.1.25.1.1节点下的设备信息,而主机CPU和内存等设备都不在这些节点下,所以无法获取这些数据。

定义一个可操作的范围(view)名, 这里是 all,范围是 .1

incl/excl:对下面的MIB子树是包括还是排除。
subtree:视图中涉及的MIB子树。
mask:掩码

1.4)
# group context sec.model sec.level prefix read write notif
access notConfigGroup “” any noauth exact systemview none none

定义 notConfigUser 这个组在 all 这个 view 范围内可做的操作,这时定义了 notConfigUser 组的成员可对.1这个范围做只读操作。

context:上下文,v1、v2c中始终为空。
sec.model:安全模式,可选值为v1/v2c/usm。
sec.level:安全级别,可选值为auth/noauth/priv,v1、v2c中只能为noauth。
prefix:前缀,指定context如何与PDU中的context匹配,v3使用。
read:授权的读视图。
write:授权的写视图。
notif:授权的trap视图。

配置范例:

1
2
3
4
5
6
7
8
9
com2sec HAIBING 192.168.0.1 haibingzl4Flf3sfs
 
group notConfigGroup v2 HAIBING
 
view all included .1
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
 
access notConfigGroup "" any noauth exact all none none

启用服务:

1
2
#service snmpd start
#chkcofnig snmpd on

测试:可以到192.168.0.1和其它电脑上进行测试一下:

1
#snmpwalk -v 2c 192.168.0.2 -c haibingzl4Flf3sfs sysName.0

如果能获取到主机名,就说明配置成功了。

v3级别的设置
先把/etc/snmp/snmpd.conf里的配置都注释掉,要不然启用snmp服务后,v1/v2也启用了,而且没有设置任何限制的。

添加一个只读账户(如root),创建一个密码(如12345678)密码最少8位,并以MD5加密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#service snmpd stop    需先停止服务
#net-snmp-create-v3-user -ro -A 12345678 -a MD5 root
 
执行后会在/etc/snmp/snmpd.conf添加字段:
rouser root
 
还会在/ var /lib/net-snmp/snmpd.conf中添加字段:
createUser root MD5 "12345678" DES
 
开启服务:
service snmpd start
 
/ var /lib/net-snmp/snmpd.conf里面的字段:
createUser root MD5 "12345678" DES   会被转化为加密状态
变成为
usmUser .........
 
 
在远端测试:
#snmpwalk -v 3 -u root -a MD5 -A "12345678" -l authNoPriv 192.168.0.1 sysName.0
 
 
  net-snmp-create-v3-user [-ro] [-A authpass] [-X privpass]
                           [-a MD5|SHA] [-x DES|AES] [username]
-a 后的md5和sha是认证方式
-x 后的des和aes是加密方式
两者不同是-a后的认证方式不可解密逆转只可用来做认证
-x后的加密可被解密出原来的数据。
v3版本的本身就是更安全的版本所以认证加密是肯定要有的。
 
如果启用snmp服务的主机有开启防火墙,需要放行161端口
iptables -I INPUT -p udp --dport 161 -j ACCEPT
相关文章
|
2天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
5天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
58 20
|
5天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
21 2
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
46 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
51 3
linux系统服务!!!
|
24天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
59 4
|
1月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
65 9
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
46 5
|
1月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
101 2
下一篇
DataWorks