net-snmp配置文件详解
net-snmp配置文件详解
net-snmp的配置文件是有一定的层次结构的,配置起来也很方便。网上找了很多资料,大概把这个配置文件的各个信息搞懂了一点。其实在net-snmp的EXAMPLE.conf文件中对齐有详细的描述,不过是英文的。
开启子代理模式
开发net-snmp子代理后,如果想要使用它,必须开启子代理功能。如果不开启,子代理运行的时候将会报错 Warning: Failed to connect to the agentx master agent ([NIL])
设置snmpd监听的地址端口
snmpd默认是监听本地所有的IP地址的 UDP 161端口 等待snmp请求。如果不希望使用默认的监听设置,可以使用自定义的选项
- # Listen for connections from the local system only
- # 只监听本地的连接
- agentAddress udp:127.0.0.1:
- # Listen for connections on all interfaces (both IPv4 *and* IPv6)
- # 监听所有接口的连接
- #agentAddress udp:,udp6:[::]:
定义安全体名和共同体名称
共同体这个是SNMPv2中的,如果只是使用SNMPv3协议,可以不需要。
- rocommunity 共同体名
- rwcommunity 共同体名
使用 rocommunity 来定义一个只读权限的共同体,使用 rwcommunity 来定义一个读写权限的共同体。
定义完共同体之后就要定义一个安全体,并把共同体映射到一个安全体中去。安全体用于控制外部访问的来源的。
使用com2sec关键字来定义安全体。
- # sec.name souce community
- com2sec read default public
- com2sec write default public
- com2sec test default public
- # . com2sec
- # 命令格式一:com2sec [-Cn context] sec.name source community
- # 功能: map an SNMPv1 or SNMPv2c community string to a security name,即将实体(community)字符串映射为安全的
- # 名字,v1 和v2版本都是明文密码,也就无所谓安全性了。v3中增加了安全性。
- # 参数说明:-Cn context:可选的,在v3版本中使用
- # sec.name: 内部映射的名字,字符串,后面用到
- # community:实体字符串,外部使用的名字
- # source:可以访问的ip地址范围,默认值"default”,即任何ip都可以访问。
- # 也可以限制ip范围,有两种方式:IP/MASK和IP/BITS
- # IP/MASK:10.10.10.0/255.255.255.0
- # IP/BITS :10.10.10.0/:只有ip地址在10.10.10.
- # mask为24个1,即255.255.255.
- # 命令格式二:com2sec6 [-Cn context] sec.name source community
- # 针对ipv6,其他和com2sec相同
- # 命令格式三:com2secunix [-Cn context] sec.name sockpath community
- # 只限本地socket可以访问
- #------------------------------------------------------------------------
- #因为SNMPv3已经使用usm作为安全模型,使用,去掉共同体定义。
- #com2sec 是net-snmp中定义安全体名字的关键字,表示这一行定义一个安全体名字。
定义安全组
定义完安全体之后,就要定义安全组了。安全体是用于控制访问的的来源的,安全组就是控制安全体中允许的来源的访问授权模式的。
- #com2sec 是net-snmp中定义安全体名字的关键字,表示这一行定义一个安全体名字。
- #第二步,定义安全组,将安全体名称加进一个安全组中
- #
- #groupName 安全组名称
- #securityModel 安全模型,可选值:v1,v2c,usm
- #securityName 安全体名称
- # groupName securityModel securityName
- group readgroup usm read
- group writegroup usm write
- group testgroup usm test
- #group是定义安全组的关键字
- # . group
- # 命令格式:group groupName securityModel sec.name
- # 功能:将sec.name映射到一个group中,组中具有相同的存取权限。组中至少有两个
- # sec.name,如果只有一个sec.name,也会被解释为两个。即有两个相同的
- # 参数说明:groupName:组名
- # securityModel:v1、v2c、usm、tsm、ksm其一
定义视图,供安全组使用
定义完安全组后,需要定义一个视图。视图就是这个安全体的可见范围。
对于每一个安全体,需要向其授权一些视图,视图确定了可以访问那些节点。
- #第三步,定义视图,供安全组使用
- #view.name 视图名
- #incl/excl 对下面的MIB子树是包括还是排除(included/excluded)
- #subtree 视图中所涉及的mib子树
- #mask(optional) 掩码
- # view.name incl/excl subtree [mask]
- view all included .
- view test included system
- view test included system.sysLocation
- #view if2 included .1.3.6.1.2.1.2.2.1.0. FFA0
- # 此处定义的就是VACM中的视图子树和掩码,配置将出现在VACM相关表中。
- # 此处对网络接口2定义了一个视图,将来作为一个独立的context,mask参见VACM。
- # view 是定义视图的关键字
- # . view
- # 命令格式:view viewName type oid[mask]
- # 功能:定义一个view,表示整个OID树的子树,同一个子树可以定义多个view
- # 参数说明: viewName:view名字
- # type:有两个值:include 和 exclude
- # oid:可以访问的oid
- # [mask]:对oid的mask
- # 例如:view all include 1.3.6.1.2.1. 0xf0
- # 0xf0: ,即访问的oid的前4位必须是1.3.6.,否则不能访问,即
- # 可以访问1.3.6.1下所有的子oid
向安全组授权相应的视图
- #第四步,向安全组授权相应的视图
- # group 安全组名
- # context 上下文v1,v2中始终为空
- # sec.model 安全模型,可选值:v1,v2,usm
- # sec.level 安全级别 可选值:auth,noauth,priv, v1,v2c中只能为noauth
- # prefix 前缀。指定context如何与PDU中的context匹配,V3使用
- # read 授权的读视图
- # write 授权的写视图
- # notif 授权的trap视图
- # group context sec.model sec.level prefix read write notif
- access readgroup "" any noauth exact all none none
- access writegroup "" any noauth exact all none none
- access testgroup "" any noauth exact all none none
- #acess readgroup "interface2" usm priv exact if2 if2 if2
# 4. access
# 命令格式:access groupName context model level prefx read write notify
# 功能:设置访问某一个view的存取权限
# 参数说明: groupName:控制存取权限的组名
# context:v1和v2c版本,context必须设置为""
# model:v1、v2c、usm、tsm、ksm
# 最后3中是v3版本的授权模式,usm(User-Based Security Model)是默认授权模式,tsm用于SSH or DTLS,ksm用于支持Kerberos
# level:可以去3种值:noauth、auth、priv
# noauth:允许无权限访问(v1,v2c使用)
# auth:必须有权限才能访问
# priv:强制加密访问
# prefx:exact or prefix
# read、write、notify:指明某一个view的权限是否可以GET*, SET*、
# TRAP/INFORM,如果该view不能read,则置none
添加用户(仅限SNMPv3)
SNMPv3使用了用户加密鉴权的认证方式,所以需要创建相关的用户。这里也可以用net-snmp-config –create-snmpv3-user来实现。
创建用户使用createUser关键字来进行。后面的参数依次是用户名、验证方式、验证码、加密方式、加密码
创建的用户需要指明用户的权限,使用关键字rouser和rwuser来操作。
rouser用于指定用户的权限为只读,如果后面加上priv来指明需要加密。可以使用auth来指明需要认证。
rwuser用于指定用户的权限为读写,其他的与上面一致。
- # 第五步,添加用户
- # user 验证方式 验证码 加密方式 加密码
- createUser fx MD5 "md5123456" DES "des123456"
- createUser fxr MD5 "md5123456"
- #用户的权限设置
- rwuser fx priv #读写用户,用户名fx,指明需要加密
- rouser fxr #只读用户
#rouser [-s SECMODEL] USER [noauth|auth|priv [OID | -V VIEW [CONTEXT]]]
#rwuser [-s SECMODEL] USER [noauth|auth|priv [OID | -V VIEW [CONTEXT]]]
SNMP Trap发送目的地设置
以上都是对SNMP代理程序的外部请求的相关设置。SNMP代理还有一个重要的功能就是主动向网管端发送“通知”。
对此需要指定网关端的目的地址。
使用snmpsink来指定发送SNMPv1版本的Trap的目的地址和共同体名称
使用snmp2sink来指定发送SNMPv2版本的Trap的目的地址和共同体名称
使用informasink来指定发送INFORMs的目的地址和共同体名称
使用trappsess来指定发送SNMPv3版本的Trap的相关信息。其中引擎ID和用户名,验证方式,验证码等都必须和接收trap的网关软件端设置的一致。
- # 发送 SNMPv1 traps
- trapsink localhost public
- # 发送 SNMPv2c traps
- trap2sink localhost public
- # 发送 SNMPv2c INFORMs
- informsink localhost public
# 发送SNMPv3 traps
#trapsess -v 2 -u 用户名 -e 引擎ID -a 验证方式 -A 验证码 -l 鉴权方式 目的IP
trapsess -v 3 -u myuser -e 0x010203040506 -a MD5 -A 111111111 -l authNoPriv 192.168.1.108
net-snmp配置文件详解的更多相关文章
- zabbix配置文件详解
Zabbix之配置文件详解 zabbix配置文件种类: zabbix_server配置文件zabbix_server.conf zabbix_proxy配置文件zabbix_proxy.conf ...
- zabbix_server.conf、zabbix_agentd.conf配置文件详解
zabbix_server.conf配置文件详解 AlertScriptsPath 默认值:/usr/local/share/zabbix/alertscripts 说明:告警脚本目录 AllowRo ...
- quartz配置文件详解
quartz配置文件详解(转载) quartz学习总结: 一.关于job: 用Quartz的行话讲,作业是一个执行任务的简单Java类.任务可以是任何Java代码.只需你实现org.qu ...
- WebConfig配置文件详解
今天看到博客园一位朋友整理的一个WebConfig配置文件详解,觉得不错,转载一下: <?xml version="1.0"?> <!--注意: 除了手动编辑此文 ...
- tomcat配置文件详解
Tomcat系列之服务器的安装与配置以及各组件详解 tomcat 配置文件详解
- ubuntu nginx 安装以及配置文件详解
1.到nginx官网下载源码包.最好下载稳定版本,nginx官网http://www.nginx.org/ 2.安装nginx依赖包运行命令: sudo apt-get install libssl- ...
- Spring配置文件详解 – applicationContext.xml文件路径
Spring配置文件详解 – applicationContext.xml文件路径 Java编程 spring的配置文件applicationContext.xml的默 ...
- spring配置文件详解--真的蛮详细
spring配置文件详解--真的蛮详细 转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常 ...
- Rsyslog配置文件详解
Rsyslog配置文件详解https://my.oschina.net/0757/blog/198329 # Save boot messages also to boot.log 启动的相关信息lo ...
随机推荐
- C++常用的#include头文件总结
C++常用的#include头文件总结 这篇文章主要介绍了C++常用的#include头文件,对初学者理解C++程序设计大有好处的相关资料 本文详细罗列了C++所包含的头文件的名称及作用说明,比较 ...
- STL vector用法介绍
STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和f ...
- GC算法
http://www.brpreiss.com/books/opus5/html/page424.html http://www.brpreiss.com/books/opus5/html/page4 ...
- Flash性能优化
Adobe Scout All the internal operations of Flash Player. Flash Builder Actionscript 3 code level pro ...
- SRS(simple-rtmp-server)
1.Push h.264 to rtmp server from tcp.
- JS获取checkbox的个数
本文算是转载自网络,当时用了他的函数,现在想总结一下,但忘了原文地址了 ================================================================ ...
- Code Contracts for .NET
https://visualstudiogallery.msdn.microsoft.com/1ec7db13-3363-46c9-851f-1ce455f66970
- Yii2 执行流程
原文地址: http://www.cnblogs.com/cresuccess/p/4874330.html
- Orchard源码分析(3):Orchard.WarmupStarter程序集
概述 Orchard.WarmupStarter程序集包含三个类:WarmupUtility.WarmupHttpModule和Starter<T>.该程序集主要为Orchard应用启动初 ...
- android-android获取navigationview 上的控件id
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); View headerView = navi ...