简单网络管理协议(SNMP)是一种“可用于管理IP网络上的设备的Internet标准协议”。通常支持SNMP的设备包括路由器、交换机、服务器、工作站、打印机、调制解调器等。它最常用于网络管理系统中,以监视连接到网络的设备的情况,以了解应该合理地需要管理员注意的情况。SNMP是互联网工程任务组(IETF)定义的互联网协议套件的一部分。它包括一套网络管理标准,包括应用层协议、数据库模式和一组数据对象。SNMP以描述系统配置的变量形式公开管理系统上的管理数据。然后管理应用程序可以查询(有时设置)这些更改。为什么要使用SNMPv3?尽管SNMPv3除了添加加密安全性之外没有对SNMP协议进行任何更改,但由于新的文本约定、概述和术语,它看起来非常不同。SNMPv3主要是对SNMP进行了安全和远程配置的改进。安全性一直是SNMP自诞生以来最大的弱点。SNMP版本1和版本2中的身份验证只不过是在管理器和代理之间以明文形式发送的密码(社区字符串)。每个SNMPv3消息都包含安全参数,这些参数被编码为八位字节字符串。这些安全参数的含义取决于所使用的安全模型。SNMPv3提供了几个重要的安全特性:机密性——加密数据包以防止未经授权的人员偷窥。完整性-消息完整性,确保数据包在传输过程中未被篡改,包括可选的数据包重放保护机制。身份验证-验证消息是从合法来源发送的。在ubuntu中安装SNMP服务端和客户端软件打开终端,运行以下命令:sudoapt-getinstallsnmpd安装好snmp后,需要做如下改动。在Ubuntu中配置SNMPv3以从外部访问守护进程。默认安装仅提供对本地主机守护程序的访问。要从外部获得访问权限,请在您喜欢的编辑工具中打开文件/etc/default/snmpd。sudovi/etc/default/snmpd将以下行更改为SNMPDOPTS='-Lsd-Lf/dev/null-usnmp-gsnmp-I-smux,mteTrigger,mteTriggerConf-p/var/run/snmpd.pid'输入SNMPDOPTS='-Lsd-Lf/dev/null-usnmp-I-smux-p/var/run/snmpd.pid-c/etc/snmp/snmpd.conf'并重启snmpd:sudo/etc/init.d/snmpdrestart定义SNMPv3用户、认证和加密参数SNMPv3可以有多种使用方式,具体取决于“securityLevel”(安全级别)配置参数:noAuthNoPriv——没有授权,没有加密,基本上没有安全声明!authNoPriv——授权是需要,但收集的数据是在没有加密的情况下通过网络发送的。authPriv-这是一种安全密钥。需要授权,并且通过网络发送的所有数据都是加密的。snmpd配置设置保存在名为/etc/snmp/snmpd.conf的文件中。使用您常用的编辑工具打开此文件:sudovi/etc/snmp/snmpd.conf将以下行添加到文件末尾:#createUseruser1createUseruser2MD5user2passwordcreateUseruser3MD5user3passwordDESuser3encryption#rouseruser1noauth1.3.6.1.2.1.1rouseruser2auth1.3.6.1.2.1rwuseruser3priv1.3.6.1.2.1注意:如果你想使用自己的用户名/密码组合,你需要指定密码和密码长度至少为8个字符。您还需要进行以下更改,以便snmp可以侦听所有接口上的连接:从#agentAddressudp:161,udp6:[::1]:161到agentAddressudp:161,udp6:[::1]:161保存修改snmpd.conf文件,重启daemon,命令如下:sudo/etc/init.d/snmpdrestart原文地址:HowtoconfigureSNMPv3onubuntu15.04server
