Saturday, March 10, 2012

SNMP v3

snmp-server view readview internet included
snmp-server group readonly v3 auth read readview
snmp-server user username readonly v3 auth md5 password




--------------------------------------------------------



首先,我们应该决定那些主机可以使用SNMP连接交换机。在这里,我们只容许IP地址为 192.0.2.13的主机。我们在交换机上创建了一个访问控制列表(ACL),限制对交换机的SNMP连接。
c3550# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
c3550(config)# ip access-list standard SNMP
c3550(config-std-nacl)# permit host 192.0.2.13
c3550(config-std-nacl)# deny any log
c3550(config-std-nacl)# exit
c3550(config)#
下一步我们要设定这台交换机的联系方式和地理位置。这些信息是明文的,可以输入您想输入的任何东西。在实际生产中,你可以输入一些比较容易识别的文字,尤其是设备的地理位置。
c3550(config)# snmp-server location Bloomington, IN, USA
c3550(config)# snmp-server contact www.07net01.com
现在,我想创建一个只读“view”数据库来限制什么数据可以被SNMP客户看到。我将创建一个名为“MIB-2”类型为“mib-2”数据库。
c3550(config)# snmp-server view MIB-2 mib-2 included
当我们只读信息库创建后,我们将要创建一个用户组“READONLY”,授权它只能读取我们刚才创建的数据库。
c3550(config)# snmp-server group READONLY v3 priv read MIB-2
最后一步,我们将要创建一个SNMPv3的用户。这里,我们创建名字为“cacti”的用户,并且随机产生了一个认证私有的密码(用来认证和加密数据)。我们将使用HMAC SHA散列算法认证,使用 128位的AES加密。另外,我们要把刚才创建的“SNMP”ACL绑定到用户上。
注意:我在FreeBSB上使用“pwgen 16 2”随机产生的密码,大家可以根据自己的需要编一个密码
c3550(config)# snmp-server user cacti READONLY v3 auth sha 5mJwYWFmjcgHVEP8  priv aes 128 16Y8HHbd81nHJgYq access SNMP
退出全局配置模式,然后保存我们的配置。
c3550(config)# end
c3550# wr
Building configuration...
[OK]
c3550#
我们配置完成了。现在,让我们在FreeBSD上(192.0.2.13我们用ACL容许的那台主机)使用“snmpget”命令进行测试:
[[email protected] ~]$ snmpget -v 3 -u cacti -l authPriv -a sha -A 5mJwYWFmjcgHVEP8 \ -x aes -X 16Y8HHbd81nHJgYq 198.18.0.2 sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: www.07net01.com

No comments:

Entertainment