共计 3698 个字符,预计需要花费 10 分钟才能阅读完成。
SNMP(Simple Network Management Protocol, 简单网络管理协议) 的前身是简单网关监控协议 (SGMP),用来对通信线路进行管理。在 RHEL 中,SNMP 的配置文件地址是 /etc/snmp/snmpd.conf。snmpd.conf 的配置项很多,但是真正常用的就那么几个,下面来逐个介绍。
com2sec 命令,它的基本语法是“com2sec NAME SOURCE COMMUNITY”。这里要提一下 SNMP 的安全策略,其实 SNMP 的安全性并不好,在这个协议中使用 COMMUNITY 这个东西来做访问控制的。简单来理解就是现在有一个帮会的一个人找去了总舵,那么这个人怎么跟总舵相认呢?他们直接约定一个“暗号”,例如见面就说“床前明月光”,那么总舵的前台就会带你去“床前明月光”想对应的地方。现在回过头来看这行配置,假如有以下一句话
com2sec magusu default magus
意思就是做一个映射,把 magus 这个 COMMUNITY 串和 magusu 这个名字做好一对映射,那么以后在调用 SNMP 的时候,只要你声明你就是 magus,那么就可以获得相应的权限了。有了映射以后下面需要做的是建立一个从 magusu 到组的一个映射,用到的命令是 group,它的基本语法是“group NAME MODEL SECURITY”
group magusg v2c magusu
上面这句话的意思就是把 magusu 放到组 magusg 里面,用的协议是 v2c,插一句,SNMP 现在通常用的有 3 个版本。那好了,组建好了下来要做什么呢?就是要建立一个 VIEW,VIEW 的基本语法是“view NAME TYPE SUBTREE [MASK]”
view magusv included .1.3.6.1.4.1.9129
像上面这句话的意思就是赋予 magusv 这个 view 能够查看 1.3.6.1.4.1.9129 下面所有节点的权限。最后要做的是设定哪些组的人,哪些 view 的用户可以做什么具体的事情,用 access 来设置,基本语法是“access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY”。
access magusg“”any noauth exact magusv magusv none
由于例子中用的是 v2c 版本的协议,所以 CONTEXT 必须为空,MODEL 也就是协议的版本号,在这里例子里面可以是 any 也可以是 v2c,还是由于 v2c 的缘故,所以 LEVEL 是 noauth;READ、WRITE 和 NOTIFY 分别需要指定一个 view 或者什么都不指定;在这里的设置就是 magusv 这个 view 可以对前面设置好的节点进行读和写操作。
到此,服务端的配置已经完成,重启一下 snmpd 就可以了,下面看看如何通过 SNMP 得到我们想要的数据
snmpwalk -v 2c -c magus localhost 1.3.6.1.4.1.9129.1.2.2
snmpwalk 可以便利指定节点下的所有子节点,-v 参数指定 SNMP 的协议版本,这个跟我们之前配置服务器的版本是要一致的,也就是 2c,然后 - c 参数就指定了 community 的字符串,也就是刚才定义的 magus,然后就是主机地址,由于我在本机测试,所以用的 localhost,实际中可以填上 IP,最后就是 OID 的值。搞定!
对于刚刚接触 SNMP 的朋友来说,理解 community 的作用是关键,其实说的通俗点就是接头暗号,而且还是个明文的“暗号”。
No related posts.
Zabbix 之 SNMP 配置 http://www.linuxidc.com/Linux/2013-09/90263.htm
SNMP 实现网络动态分析 http://www.linuxidc.com/Linux/2013-04/83514.htm
SNMP 实现网络状态监控 http://www.linuxidc.com/Linux/2013-04/83187.htm
CentOS 6.3 下搭建 SNMP 测试环境 http://www.linuxidc.com/Linux/2013-02/79233.htm
Linux (Ubuntu/CentOS) SNMP 配置 http://www.linuxidc.com/Linux/2012-12/76837.htm
开启并配置 Citrix Xenserver 的 SNMP 服务 http://www.linuxidc.com/Linux/2013-01/78487.htm
SNMP(Simple Network Management Protocol, 简单网络管理协议) 的前身是简单网关监控协议 (SGMP),用来对通信线路进行管理。在 RHEL 中,SNMP 的配置文件地址是 /etc/snmp/snmpd.conf。snmpd.conf 的配置项很多,但是真正常用的就那么几个,下面来逐个介绍。
com2sec 命令,它的基本语法是“com2sec NAME SOURCE COMMUNITY”。这里要提一下 SNMP 的安全策略,其实 SNMP 的安全性并不好,在这个协议中使用 COMMUNITY 这个东西来做访问控制的。简单来理解就是现在有一个帮会的一个人找去了总舵,那么这个人怎么跟总舵相认呢?他们直接约定一个“暗号”,例如见面就说“床前明月光”,那么总舵的前台就会带你去“床前明月光”想对应的地方。现在回过头来看这行配置,假如有以下一句话
com2sec magusu default magus
意思就是做一个映射,把 magus 这个 COMMUNITY 串和 magusu 这个名字做好一对映射,那么以后在调用 SNMP 的时候,只要你声明你就是 magus,那么就可以获得相应的权限了。有了映射以后下面需要做的是建立一个从 magusu 到组的一个映射,用到的命令是 group,它的基本语法是“group NAME MODEL SECURITY”
group magusg v2c magusu
上面这句话的意思就是把 magusu 放到组 magusg 里面,用的协议是 v2c,插一句,SNMP 现在通常用的有 3 个版本。那好了,组建好了下来要做什么呢?就是要建立一个 VIEW,VIEW 的基本语法是“view NAME TYPE SUBTREE [MASK]”
view magusv included .1.3.6.1.4.1.9129
像上面这句话的意思就是赋予 magusv 这个 view 能够查看 1.3.6.1.4.1.9129 下面所有节点的权限。最后要做的是设定哪些组的人,哪些 view 的用户可以做什么具体的事情,用 access 来设置,基本语法是“access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY”。
access magusg“”any noauth exact magusv magusv none
由于例子中用的是 v2c 版本的协议,所以 CONTEXT 必须为空,MODEL 也就是协议的版本号,在这里例子里面可以是 any 也可以是 v2c,还是由于 v2c 的缘故,所以 LEVEL 是 noauth;READ、WRITE 和 NOTIFY 分别需要指定一个 view 或者什么都不指定;在这里的设置就是 magusv 这个 view 可以对前面设置好的节点进行读和写操作。
到此,服务端的配置已经完成,重启一下 snmpd 就可以了,下面看看如何通过 SNMP 得到我们想要的数据
snmpwalk -v 2c -c magus localhost 1.3.6.1.4.1.9129.1.2.2
snmpwalk 可以便利指定节点下的所有子节点,-v 参数指定 SNMP 的协议版本,这个跟我们之前配置服务器的版本是要一致的,也就是 2c,然后 - c 参数就指定了 community 的字符串,也就是刚才定义的 magus,然后就是主机地址,由于我在本机测试,所以用的 localhost,实际中可以填上 IP,最后就是 OID 的值。搞定!
对于刚刚接触 SNMP 的朋友来说,理解 community 的作用是关键,其实说的通俗点就是接头暗号,而且还是个明文的“暗号”。
No related posts.
Zabbix 之 SNMP 配置 http://www.linuxidc.com/Linux/2013-09/90263.htm
SNMP 实现网络动态分析 http://www.linuxidc.com/Linux/2013-04/83514.htm
SNMP 实现网络状态监控 http://www.linuxidc.com/Linux/2013-04/83187.htm
CentOS 6.3 下搭建 SNMP 测试环境 http://www.linuxidc.com/Linux/2013-02/79233.htm
Linux (Ubuntu/CentOS) SNMP 配置 http://www.linuxidc.com/Linux/2012-12/76837.htm
开启并配置 Citrix Xenserver 的 SNMP 服务 http://www.linuxidc.com/Linux/2013-01/78487.htm