引入:
1, 后面发现snmp V3 需要可以支持sha224 - 384 - 512 的认证算法和aes - 128 - 192 - 256加密算法,让后网上搜索了一下,发现在net-snmp的5.8版本之上支持这些算法,但是aes-192-256这些并不是snmp协议标准必须规定和实现的。没办法,还是用net-snmp验证一下
1,net-snmp - 5.9.1源码安装 (centos 7)
配置之前先下载openssl-1.1.0g库:cd openssl文件夹
①编译:
./config --prefix=/home/openssl-3.0.13/install 【配置不过参考其他openssl安装】
Make && make install
官网下载:net-snmp-5.9.1.tar.gz
②配置:
./configure
--enable-blumenthal-aes 【该选项开启AES192/AES256的支持,但需要引用openssl库】
--disable-shared
--prefix=/home/work/net-snmp-5.9.1/install
--with-openssl=/home/openssl-1.1.0g/install/lib
CFLAGS="-I/home/openssl-1.1.0g/install/include"
LDFLAGS="-L/home/openssl-1.1.0g/install/lib"
出现其他配置报错时,执行./configure --help ,看看有什么选项不支持就disable
成功后可以看到其中有:(说明已经成功配置了)
Authentication support: MD5 SHA1 SHA224 SHA256 SHA384 SHA512
Encryption support: DES AES AES128 AES192 AES192C AES256 AES256C
然后:
Make & & make install
成功后,可在当前目录下查看到install目录,这个就是snmp 安装的目录了。
2.测试
可以使用MG-SOFT MIB Browser window软件进行测试,
但该软件只支持MD5/SHA 认证和AES-128加密,换另外一个软件MIB Browser 加密可以支持aes192-256但是是个人版版本不能修改。。。。,后面使用snmp编译出来的snmpget 命令进行了测试。
如下是测试步骤:
①进入install/sbin目录下,配置vim snmpd.conf文件:
增加如下:
agentAddress udp:161
rwuser admin
#createUser adminSHA 12345678 AES 12345678
#createUser adminSHA-256 12345678 AES-256 12345678
createUser adminSHA-512 12345678 AES-256 12345678
[#:表示注释]
②运行snmpd发现无法找到openssl库, 添加之前编译好的openssl库环境变量:
export LD_LIBRARY_PATH=/home/openssl-1.1.0g/install/lib:$LD_LIBRARY_PATH
cd ./sbin
再次运行:./snmpd -c ./snmpd.conf -L /var/log/snmpd.log & ,成功运行
③使用snmpget进行测试:cd ../bin/
./snmpget -v3 -u admin -a SHA -A "12345678" -x AES -X "12345678" -l authPriv 192.168.10.37:161 .1.3.6.1.6.3.10.2.1.1.0
./snmpget -v3 -u admin -a SHA-512 -A "12345678" -x AES-256 -X "12345678" -l authPriv 192.168.10.37:161 .1.3.6.1.6.3.10.2.1.1.0 (需要修改snmpd.conf文件,重新运行snmpd)
其他支持的选项自行验证:
Authentication support: MD5 SHA1 SHA224 SHA256 SHA384 SHA512
Encryption support: DES AES AES128 AES192 AES192C AES256 AES256C
3,总结
net-snmp在5.8版本及以上已经支持了这些更强的算法,具体去netsnmp官网查看,编译的过程中会使用openssl库,库版本需要有aes的支持。