Ubuntu20.04配置SNMPv3
Ubuntu20.04配置SNMPv3
参考视频:
作者 Mainpedia Project
Install SNMP and configure SNMP v3 Ubuntu [No Talking]
不方便放直接国外视频链接
参考资料:
https://www.ttlsa.com/zabbix/snmp-v3-configuration/
https://www.jianshu.com/p/45bededb5525
https://support.huawei.com/enterprise/zh/doc/EDOC1100087025
为设备或者虚拟机接入zabbix和prometheus作准备.
zabbix-agent2已经尝试过,这里尝试使用SNMPv3接入看看有什么区别
部署SNMPv3
snmp v3安全级别有三种,分别为noAuthNoPriv(不认证也不加密)、authNoPriv(认证但是不加密)、authPriv(既认证又加密)
1.安装SNMPv3相关的包
1 | sudo apt install snmp snmpd libsnmp-dev |
libsnmp-dev用于生成snmp用户
2.创建snmp v3用户
创建snmp v3用户
net-snmp-create-v3-user --help
可以查看帮助net-snmp-create-v3-user
是一个Net-SNMP工具的命令,用于创建SNMPv3用户
添加用户时,snmp服务必须停止,否则会报错1
2
3
4
5
6sudo net-snmp-create-v3-user -ro -A myauthpass -X myprivpass -a SHA -x AES snmpv3User1
以下是输出
adding the following line to /var/lib/snmp/snmpd.conf:
createUser snmpv3User1 SHA "myauthpass" AES "myprivpass"
adding the following line to /usr/share/snmp/snmpd.conf:
rouser snmpv3User1注意这里的文件目录
/usr/share/snmp/snmpd.conf
,net-snmp-create-v3-user
命令并不直接提供删除 SNMPv3 用户的功能,需要在这个配置文件中删除需要删除的用户.解释命令
部分内容由ChatGPT提供
首先来看创建用户命令sudo net-snmp-create-v3-user -ro -A myauthpass -X myprivpass -a SHA -x AES snmpv3User1
1
2
3
4
5
6
7
8
9
10
11-ro: 这是一个选项,表示创建的用户将具有只读(read-only)权限,即只能获取设备信息,而不能进行修改。
-A myauthpass: 这是一个选项,用于指定用于身份验证的密码。在这里,myauthpass是你指定的用于身份验证的密码。
-X myprivpass: 这是一个选项,用于指定用于加密的密码。在这里,myprivpass是你指定的用于加密的密码。
-a SHA: 这是一个选项,用于指定身份验证算法。在这里,选择了SHA算法,用于对消息进行身份验证。
-x AES: 这是一个选项,用于指定加密算法。在这里,选择了AES算法,用于对消息进行加密。
snmpv3User1: 这是创建的SNMPv3用户的标识符或名称。在这里,用户的名称被设置为 snmpv3User1。snmpv3User1
为用户名,对应Zabbix中的安全名称myauthpass
为身份验证密码,对应Zabbix中的验证口令,由-a SHA
加密myprivpass
为加密密码,对应Zabbix中的隐私协议的私钥,由-x AES
加密,Net-SNMP工具中默认使用的AES加密算法是AES-128修改配置文件
/etc/snmp/snmpd.conf
默认文档:1
agentaddress 127.0.0.1,[::1]
这里默认开启了本地的ipv4和ipv6的161端口
如果机器没有ipv6地址可能会报错,删除后面的,[::1]
即可1
agentaddress 10.20.111.2
如果要指定端口,也可以按照以前snmpd文档的写法
1
2
3agentaddress udp:10.20.111.2:161
注意IP地址
如果IP地址为127.0.0.1,只有snmpd本机自己可以查询自己启动服务
注意:服务端口是UDP的161端口,使用tcp的查看方法是看不到端口的
启动服务
1 | sudo systemctl restart snmpd.service |
查看端口
1 | ss -ulnp |
根据自己系统的防火墙来放行端口
监测SNMPv3
1 | snmpwalk -v3 -u snmpv3User1 -A myauthpass -X myprivpass -l authPriv -a SHA -x AES 10.20.111.2 1.3.6.1.2.1.1.1.0 |
测试完成
如果这里写 10.20.111.2 出现 snmpwalk: Timeout
,但是写localhost和127.0.0.1却可以正常获取信息,说明snmpd.conf里IP地址为127.0.0.1并没有修改成主机地址。
1 | 参数详解 |