snmp安装配置

只说一下在ubuntu下如何进行基本的配置。

ubuntu Server 12.04

apt-get install snmp snmpd 

安装完成之后还要安装snmp-mibs-downloader

该包包含了MIB文件以及一个脚本,该脚本将这些文件抽取出来以便被简单网络管理库使用。

配置文件:

配置文件是分段的,包含(agent behaviour)代理行为,SNMPv3 验证,访问控制,系统信息,ACTIVE MONITORING, 以及代理扩展

  • 代理行文

其中代理行为主要设定代理监听的地址及端口,agentaddress是代理监听端口,默认监听IPv4 UDP161端口

agentAddress udp:161,udp6:[::1]:161

  • SNMPv3设定

SNMPv3主要设定v3的用户及密码信息,对于使用v1 v2的可以忽略

  • 访问控制

访问控制如果刚开始接触还是相对难理解的,

对于SNMP v1 或v2c版本来说,唯一的访问控制是基于共同体的访问控制(community based control)

警告:

由于共同体识别符对于所有的客户端都是同一个,而且以纯文本方式在网上传输,该认证方式仅提供了最基本的安全控制,所以不要在公共网络上或不安全的网络上使用,尤其不要开放写权限。

 

    1.SNMPv1 or SNMPv2c基于共同体的认证方式:

在安装阶段我们已经配置了最基本的基于共同体的认证方式,即直接声明只读共同体。

rocommunity  COMMUNITY [SOURCE [OID]]
rocommunity6 COMMUNITY [SOURCE [OID]]
如你所看到的,在客户端只需要你提供共同体识别符,可以通过指定SOURCE源进一步限制访问,也可以指定OID限制访问MIB的特定分支。为了兼容SNMPv3的VACM,rocommunity也可以指定访问特定的视图(view),如下面的例子,我们定义了一个只读共同体,它限制访问特定的view,其中源地址掩码是必须的。
rocommunity  COMMUNITY SOURCE -V VIEW
rocommunity6 COMMUNITY SOURCE -V VIEW

例子: 

rocommunity public localhost   ////允许本机可以读取所有的信息

rocommunity public 10.192.0.0/24 ////允许10.192.0.0网段的client可以访问本机所有的信息

rocommunity public 10.192.0.0/24 .1.3.6.1.2.1.1  ////允许10.192.0.0网段的client可以访问分支.1.3.6.1.2.1.1的信息

view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1

rocommunity public default -V systemonly

////默认所有的client仅能访问视图systemonly的信息

 

    2.SNMPv3基于用户的认证方式:

////偷懒掠过

 

    3.使用VACM,基于视图的访问控制模型(view-based access control model)

它既适用于v2c也适用于v3版本,对于v2c版本

# Mappings between community strings and security names
# security name source mask community id

com2sec limited 10.0.0.0/8 public

# Mappings between security names and group names
# group name security model security name

group limited_grp v1 limited
group limited_grp v2c limited

group hw_admin_grp usm john
group sw_admin_grp usm holly
group management_grp usm max

# View definitions
# view name included/excluded subtree

view basic_view excluded .iso
view basic_view included SNMPv2-MIB::system

view hardware_view excluded .iso
view hardware_view included LM-SENSORS-MIB::lmSensors

view software_view excluded .iso
view software_view included UCD-SNMP-MIB::systemStats

# Access control directives
# group name context model level match read write notify

access	limited_grp     ""          any     noauth  exact       basic_view      none        none
access hw_admin_grp "" usm priv exact hardware_view none none
access sw_admin_grp "" usm priv exact software_view none none
access management_grp "" usm priv exact all none none

画删除线的是针对v3版本的设定,暂且忽略。

community id ==> security name ==> group=|||

                                                             view=|||

#       group name      context     model   level   match       read            write       notify
access	limited_grp     ""          any     noauth  exact       basic_view      none        none
解释一下上面一句话:
access即访问控制
group name允许访问的组
context 不知何意,按照例子留空
model 认证方式?对于v2c填any,v3填usm
level 有noauth priv 及 auth,对于v2c需要填写noauth
match exact
read/write 可读写的view

参考

http://www.mad-hacking.net/documentation/linux/management/snmp/snmpd-security.xml

http://magustest.com/blog/linux/setup-snmpd-conf/

 

 

 

 

posted @ 2013-11-07 11:04  silence.li  阅读(1027)  评论(0编辑  收藏  举报