ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一台设备使用snmp proxy 获得其它snmp设备管理信息

一台设备使用snmp proxy 获得其它snmp设备管理信息

原创 Linux操作系统 作者:comebackdog 时间:2011-09-30 16:45:09 0 删除 编辑

 

一台设备使用snmp proxy 获得其它snmp设备管理信息

我们在网络管理中常会用到snmp管理设备,但某些环境下只能访问该网络中的某一台设备,我们可以用这台设备做snmp的代理来管理其他设备。

例子:
杭州**系统网络安全改造后,通过防火墙映射只允许外部网络访问web服务器的snmp端口,内部数据库snmp端口不能从外部网络访问,安全起见防火墙又不便于再打开新的映射端口,这给在外部网络使用snmp进行监控的监控系统造成阻碍。
这里使用snmp的proxy通过web服务的snmp服务代理访问db服务器的snmp服务。
基本配置:

首先,确定web服务器的snmp服务正常

以下是个简单的snmp配置说明仅供参考

/etc/snmp/snmpd.conf 基本配置内容如下四个部分

# First, map the community name "public" into a "security name"
#       sec.name       source        community
com2sec notConfigUser  192.168.11.10 wwwcc
这里设置允许被访问的设备的IP(如192.168.11.10),设备自身的组织名称(如wwwcc),notConfigUser是个用户见下文。

# Second, map the security name into a group name:

#       groupName      securityModel securityName
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser

这部分是用户分组信息,默认不需要修改。

# Third, create a view for us to let the group have rights to:

# Make at least  snmpwalk -v 1 localhost -c public system fast again.
#       name           incl/excl     subtree         mask(optional)
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
view    all     included .1

这部分确定snmp可以获得管理信息,由匹配的OID确定获得信息量,使用.1可获得最大信息。

# Finally, grant the group read-only access to the systemview view.

#       group          context sec.model sec.level prefix read   write  notif
access  notConfigGroup ""      any       noauth    exact  all none none
access  notConfigGroup ""      any       noauth    exact  systemview none none

这部分配置管理权限,安全起见默认只获得只读管理信息的权限。
----------------------------------------------------------------------------------------------------------------------

接下来,给新web服务器添加以下内容(即新添加一个组织机构代理):

[root@web snmp]#vi /etc/snmp/snmpd.conf
 
com2sec -Cn ctx_remotehost1 notConfigUser default cmty_remotehost1
view systemview included .1.3
access notConfigGroup ctx_remotehost any noauth prefix systemview none none
proxy -Cn ctx_remotehost1 -v 2c -c wwwcc 192.168.10.11 .1.3

cmty_remotehost1为设置被代理的设备的代理组织名称(snmp代理访问要使用到的,根据自己需要设置具体名称)
wwwcc 为被代理设备自身的组织名称(被代理的设备(db服务器)自身snmp设置的组织名称)
192.168.10.11 被代理的设备IP(即db服务器)
1.3 表示匹配的OID,可获得管理的管理信息范围

重启snmp服务

[root@web snmp]# service snmpd restart

检查端口是否打开

[root@web ~]# netstat -anp |grep snmp
tcp        0      0 0.0.0.0:199                 0.0.0.0:*                   LISTEN      30803/snmpd        
udp        0      0 0.0.0.0:161                 0.0.0.0:*                               30803/snmpd        

ok启动成功

----------------------------------------------------------------------------------------------------------------------
然后,给db服务器的snmp文件添加访问权限,允许web服务器可以访问db服务器的snmp服务

[root@db snmp]#vi /etc/snmp/snmpd.conf

com2sec notConfigUser  192.168.11.10 wwwcc

192.168.11.10 为web服务器地址(代理服务器地址)
wwwcc 为web服务器的组织名称(被代理服务器的组织名称)

[root@db snmp]# service snmpd restart

检查端口是否打开

[root@db ~]# netstat -anp |grep snmp
tcp        0      0 0.0.0.0:199                 0.0.0.0:*                   LISTEN      30803/snmpd        
udp        0      0 0.0.0.0:161                 0.0.0.0:*                               30803/snmpd        

ok启动成功

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

最后,测试

在一台监控服务器上,执行以下命令
[root@cacti ~]# snmpget -v2c -c wwwcc  20.20.20.20 sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)

20.20.20.20 是web服务器(代理服务器)的IP地址
wwwcc 是web服务器(代理服务器)的组织名称

第一次测试web服务器(代理服务器)正确返回信息


在一台监控服务器上,执行以下命令
[root@cacti ~]# snmpget -v2c -c cmty_remotehost1 20.20.20.20 sysContact.0
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)

20.20.20.20 是web服务器(代理服务器)的IP地址,以为使用的是snmp的proxy那么就要使用代理服务器的地址
cmty_remotehost1即当前被代理服务器(db服务器)的组织名称

第二次测试db服务器(被代理服务器)返回正常信息,表示代理设置成功。

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

小结:
如果还有其它设备需要snmp访问就按照前面步骤新增一个组织机构代理,使用代理服务器的IP,使用被代理服务器的组织机构名称(代理名称)。


参考资料:http://www.net-snmp.org/wiki/index.php/Snmpd_proxy#Simply_proxy_access

 

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20575781/viewspace-708553/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-09-27

  • 博文量
    19
  • 访问量
    96012