配置snmpd for windows

2020-8-10    seo达人

1.安装


Windows 安装请参考


默认安装为c:/usr/ 。可以执行如下文件,以便启动snmp agent:


snmpd

会提示需要配置snmpd.conf。


No log handling enabled - turning on stderr logging

Warning: no access control information configured.

 It's unlikely this agent can serve any useful purpose in this state.

 Run "snmpconf -g basic_setup" to help you configure the snmpd.conf file for this agent.

NET-SNMP version 5.5

不必使用提示中的命令,因为此命令引用了perl,但是perl的对应模块无法跑起来。看来perl要完蛋的传说并不是空穴来风。


snmpd.conf可以自己创建到/usr/etc/snmp/snmpd.conf内。


2.修改配置文件


配置之前的说明:我在网上看到的所有配置都是com2sec,group,access这三个配置,但是从默认的snmp.conf文件中有一段话:




没必要使用 com2sec/group/access配置,使用ro(w)user,ro(w)community结合合适的views,就可以覆盖大多数需求了。


2.1  配置监听地址

snmpd默认监听本地IP的UDP161端口,等待snmp请求


agentAddress udp:161

蓝蓝设计www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 平面设计服务

2.2  配置视图(view)

格式:view viewName type oid[mask]


参数说明:  


   

   viewName : view名称

   type : 有两个值:include和exclude(包括或者排除)

   oid:可以访问的oid(mib子树)

   [mask]:对oid的掩码 (可选参数)

案例:


view systemonly included .1.3.6.1.2.1

2.3  配置共同体(community)

格式:ro(w)community communityName source


参数说明:


rocommunity定义一个只读权限的共同体,rwcommunity定义一个读写权限的共同体

rocommunity6或   rwcommunity6表示监听IPv6。

communityName:共同体名称

source:可以访问的IP地址范围,默认为”default”,即任何IP都能访问。


               可选参数:-V viewName  限制共同体只能访问viewName下的节点


实际配置文件

agentAddress udp:161

view systemonly included .1.3.6.1.2.1

rocommunity public default

3. 测试

修改完配置之后,重启snmpd:


snmpd

连接测试:(该节点表示获取主机内存大小)


snmpwalk -v 1 -c public localhost .1.3.6.1.2.1.1.1

SNMPv2-MIB::sysDescr.0 = STRING: Windows DESKTOP-70OA76Q 6.2.9200   Professional

得到类似以上的结果,就说明snmpd配置成功。


配置MIB库

Windows版本的snmp自带有很多MIB,位于C:\usr\share\snmp\mibs


因此可以对OID和MIB name做互相转换:


snmptranslate -On SNMPv2-MIB::sysDescr.0

.1.3.6.1.2.1.1.1.0


snmptranslate .1.3.6.1.2.1.1.1.0

SNMPv2-MIB::sysDescr.0

添加自己的mib

之前的笔记有提到自己创建的一个定制mib文件


https://github.com/1000copy/tbit-guard-snmp/blob/master/tbit.mib

可以把它加入到C:\usr\share\snmp\mibs目录内,文件名无所谓。然后为snmptranslate加入选项 -mALL ,表示加载所有在此目录内的mib文件:


snmptranslate -m ALL .1.3.6.1.4.1.66666

你应该看到如下消息,表明mib加载成功:


tbitinc::tbit

详细的说明如下:


-m MIBLIST

     指定一个用冒号分隔的MIB模块列表(不是文件),以便为这个应用程序加载。 这将覆盖(或增加)环境变量MIBS、snmp.conf的内容。指令mibs,以及硬编码到Net-SNMP库中的MIBs列表。如果MIBLIST有一个前导的'-'或'+'字符,那么所列出的MIB模块将被加载到默认列表之外,分别位于该列表之前或之后。

     否则,将加载指定的MIB,而不是这个默认列表。特殊关键字ALL用于加载MIB目录搜索列表中的所有MIB模块。 每一个名字不以". "开头的文件都会被解析为是一个

     MIB文件。

-M DIRLIST

     指定一个以冒号分隔的目录列表来搜索MIB。 这将覆盖(或增强)环境变量MIBDIRS和snmp.conf指令mibdirs。

     以及硬编码到 Net-SNMP 库中的默认目录 (/usr/share/snmp/mibs)。


     如果DIRLIST有一个前导的'-'或'+'字符,那么给定的目录会被添加到默认列表中,在这个列表的目录之前或之后进行搜索。

     分别进行搜索。 否则,将搜索指定的目录,而不是这个默认列表。


     请注意,列表中出现在后面的目录要比前面的目录优先。 要避免搜索任何MIB目录,请将MIBDIRS环境中的

     变量为空字符串("")。


     请注意,使用-m选项或mibs配置指令指定的MIB将从-M选项(或等价物)列出的目录中加载。

     mibfile指令采用的是指定MIB文件的完整路径,所以不需要在MIB目录搜索列表中出现。

分享本文至:

日历

链接

blogger

蓝蓝 http://www.lanlanwork.com

存档