Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347538
  • 博文数量: 100
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 521
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-31 11:37
个人简介

活到老,学到老

文章分类

全部博文(100)

文章存档

2018年(1)

2017年(2)

2016年(11)

2015年(82)

2014年(4)

我的朋友

分类: LINUX

2015-07-01 10:37:53

1、首先,安装    sudo apt-get install libperl-dev  

2、安装net-snmp

一、在线安装:sudo apt-get install net-snmp

二、本地安装:见以下。

3、从网上下载net-snmp-5.7.1.tar.gz,在此用的是5.7.1,试过5.7.3的跟网上的安装出来好像太一样。

4、解压net-snmp-5.7.1.tar.gz,在解压目录进行安装。

5、配置。

./configure --with-default-snmp-version="3" --prefix="/usr/local/net-snmp" --with-sys-contact="zxy@fxdigital.com.cn" --with-sys-location="China" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp"关于配置参数说明:

prefix:安装路径

with-default-snmp-version(3): 3(在这里版本通常有三种形式:1,2c,3
with-sys-contact(配置该设备的联系信息): heaven(也可以是邮箱地址)
with-sys-location(该系统设备的地理位置):BEIJING P.R China
Location to write logfile (日志文件位置): /var/log/snmpd.log
Location to Write persistent(数据存储目录): /var/net-snmp

 

配置完成之后,可以看如下关于Net-snmp的配置信息:
---------------------------------------------------------
            Net-SNMP configuration summary:
---------------------------------------------------------

6、make

7、make install 

8、设置任何目录都能运行snmp命令

vi  ~/.bashrc

在末尾加入

export PATH="$PATH:/usr/local/net-snmp/bin/:/usr/local/net-snmp/sbin"

export LD_LIBRARY_PATH=/usr/local/net-snmp/lib

记得刷新 source ~/.bashrc

9、运行snmpget --version,可以获取版本号,说明安装成功。

10、在/usr/local/net-snmp/share/snmp下创建并编辑snmpd.conf文件,snmpd.conf用来配置代理和管理端通信时的参数。


  1. #master 是说该snmpd以主代理方式运行,目前主代理snmpd只支持agentx类型,而我们要开发的程序是一种子代理(subagent),是需要连snmpd的master agent的。###设置public的用户为只读权限,private的用户读写权限。

  2. master agentx
  3.     rocommunity public 
  4.     rwcommunity private

  5. ###################################################################
  6. ####
  7. # First, map the community name (COMMUNITY) into a security name
  8. # (local and mynetwork, depending on where the request is coming
  9. # from):
  10. # # 定义 community 名称为  public ,映射到安全名  local 
  11. # sec.name source community
  12. com2sec local localhost public
  13. com2sec local localhost private
  14. com2sec mynetwork 192.168.11.0/24 public
  15. com2sec mynetwork 192.168.11.0/24 private
  16. ####
  17. # Second, map the security names into group names:
  18. ## 定义安全用户名 local 映射到 MyRWGroup
  19. # sec.model sec.name
  20. group MyRWGroup    v1 local
  21. group MyRWGroup    v2c local
  22. group MyRWGroup    usm local
  23. group MyRWGroup    usm initial
  24. group MyROGroup v1 mynetwork
  25. group MyROGroup v2c mynetwork
  26. group MyROGroup usm mynetwork

  27. ####
  28. # Third, create a view for us to let the groups have rights to:

  29. # 定义一个 view, 来决定 MyROGroup 可以操作的范围,all代表所有组都可访问
  30. # incl/excl subtree mask
  31. view all included .1 80
  32. view system included .iso.org.dod.internet 80
  33. ####
  34. # Finally, grant the 2 groups access to the 1 view with different
  35. # write permissions:
  36. #给 MyROGroup 组所定义 view 名  all 以只读权限。 
  37. # context sec.model sec.level match read write notif
  38. access MyROGroup "" any noauth exact all none none
  39. access MyRWGroup "" any noauth exact all all none

11、运行命令,启动snmp

/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf

运行命令ps -ef|grep snmp,查看进程是否已经运行。
        可以写了一个shell脚本来管理snmp的打开和关闭。
    opensnmp.sh

  1. #!/bin/bash
  2. /usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf
   closesnmp.sh

  1. #!/bin/bash
  2. kill $(ps -ef | grep snmp |awk '{print $2}')
12、运行命令 lsof -i:161,查看161端口是否使用。
13、
测试snmp是否正常工作,运行命令

snmpwalk -c public -v 2c localhost

会显示各个节点信息。
14、设置snmp的开机启动项,运行vi /etc/rc.local,将以下写入

/usr/local/net-snmp/sbin/snmpd -c /usr/local/net-snmp/share/snmp/snmpd.conf





阅读(2764) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~