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

简介: 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
相关文章
|
1月前
|
Linux 网络安全 Docker
盘古栈云,创建带ssh服务的linux容器
创建带ssh服务的linux容器
268 146
|
29天前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
121 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
26天前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
146 11
|
2月前
|
缓存 安全 Linux
六、Linux核心服务与包管理
在没有网络的情况下,使用系统安装光盘是获取RPM包的常用方法。场景二:配置本地文件镜像源 (使用系统安装光盘/ISO)(检查RPM包的GPG签名以保证安全) 或。YUM/DNF包管理工具 (yum/dnf)(此处可以放置您为本主题制作的思维导图)处理依赖问题的危险选项 (应极力避免)(覆盖文件、替换已安装包)。(list) 则是列出文件。(query file) 是。(假设系统安装光盘已挂载到。信息 (verbose)。(upgrade) 选项。(all) 已安装的包。(package) 选项
297 11
|
29天前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
185 0
|
3月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
182 5
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
关系型数据库 MySQL Linux
MySQL 数据库linux系统下修改配置文件设置mysql是否大小写敏感实例演示
MySQL 数据库linux系统下修改配置文件设置mysql是否大小写敏感实例演示
382 0
MySQL 数据库linux系统下修改配置文件设置mysql是否大小写敏感实例演示
|
2月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
374 1
二、Linux文本处理与文件操作核心命令