centos编译安装方式升级snmpwalk命令到5.9.1从而支持SHA-512鉴权协议测试

背景

CentOS7直接用yum方式安装snmpwalk版本为5.7.2并且鉴权协议只支持MD5 SHA这两种,但是测试过程中我需要用到SHA-512的鉴权协议以及AES256的加密协议
centos编译安装方式升级snmpwalk命令到5.9.1从而支持SHA-512鉴权协议测试_第1张图片

解决办法

查看官网 http://www.net-snmp.org/发现最新版本为5.9.1支持 SHA-512鉴权协议,于是尝试安装5.9.1版本但是CentOS系统只能编译安装,不能直接用yum或者rpm方式安装.

安装步骤

1. 下载安装包

点击 https://jaist.dl.sourceforge.net/project/net-snmp/net-snmp/5.9.1/net-snmp-5.9.1.tar.gz 下载安装包

2. root用户下安装

执行sudo su 切换到root用户执行后续命令
用scp命令或者其他方式上传安装包, 如果安装机器可以连外网还可以直接执行下面的 命令获取安装包
wget https://jaist.dl.sourceforge.net/project/net-snmp/net-snmp/5.9.1/net-snmp-5.9.1.tar.gz

  • 卸载老版本snmpwalk
yum remove -y net-snmp net-snmp-utils
  • 安装依赖,解决 Can't locate ExtUtils/MakeMaker.pm in @INC 问题
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker -y
  • 安装依赖,解决 configure: error: Blumenthal draft requires OpenSSL with AES functions enabled. 问题
    参考 https://sourceforge.net/p/net-snmp/code/merge-requests/14/
yum -y install openssl-libs openssl openssl-devel
  • 解压安装包
tar -zxvf  net-snmp-5.9.1.tar.gz
  • 进入解压目录执行./configure后一直按回车键确认,然后执行make && make install 编译安装
cd net-snmp-5.9.1
# 启用加密协议AES192和AES256, 其余定制选项可以用 ./configure -h查看
./configure --enable-blumenthal-aes   
# 安装
make && make install
  • 修改环境变量/etc/profilePATH那一行的行尾后面添加:/usr/local/bin
vi /etc/profile

#PATH那一行的行尾后面添加:/usr/local/bin 例如
PATH=$PATH:/usr/local/python/bin:/usr/local/bin

  • 引用环境变量并修改目录权限
source  /etc/profile
chmod  -R 755 /usr/local/share
  • 验证
    执行snmpwalk -h可以查看帮助信息,安装成功后会支持SHA-512的鉴权协议,如果配置过程直接执行的是./configure 而不是./configure --enable-blumenthal-aes就会发现加密协议只支持AESDES两种加密协议不支持AES-256加密协议, 如下图:
    centos编译安装方式升级snmpwalk命令到5.9.1从而支持SHA-512鉴权协议测试_第2张图片按照./configure --enable-blumenthal-aes配置的话会支持AES256
    如下图:
    centos编译安装方式升级snmpwalk命令到5.9.1从而支持SHA-512鉴权协议测试_第3张图片

  • 卸载
    如果不想使用snmpwalk 5.9.1了可以到解压目录下用root用户执行make uninstall命令卸载. 例如:

sudo su
cd net-snmp-5.9.1
make uninstall

你可能感兴趣的:(Linux,linux,centos,运维,经验分享,snmpwalk)