您的位置:首页 > 其它

ubuntu 安装配置snmp

2017-07-14 18:03 218 查看

前提

ubuntu 和centos 上安装配置snmp 有些差异;

记录下过程

版本信息 : Ubuntu 14.04.4 LTS

安装

sudo apt-get install snmpd
这里安装的还是和centos上有区别的。

安装后执行
snmpd -v


NET-SNMP version:  5.7.2
Web:               http://www.net-snmp.org/ Email:             net-snmp-coders@lists.sourceforge.net


表明安装成功。

如果要使用snmpwalk 这个命令也需要安装一下

执行安装
apt-get install snmp


执行查看
snmpwalk -V


NET-SNMP version: 5.7.2


这样就完成了安装。

配置

首先测试下能够使用snmpwalk

snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.1.1


可能会提示如下

Timeout: No Response from localhost


请确保snmp 服务已开启

service snmpd status
service snmpd start


如果需要更多的信息,则需要进一步配置。

vim /etc/snmp/snmpd.conf


###############################################################################
#
# EXAMPLE.conf:
#   An example configuration file for configuring the Net-SNMP agent ('snmpd')
#   See the 'snmpd.conf(5)' man page for details
#
#  Some entries are deliberately commented out, and will need to be explicitly activated
#
###############################################################################


Ub
4000
untu 上的配置如同上图注意和centos的配置文件不同.

配置外网访问

在15行左右,将
agentAddress  udp:127.0.0.1:161
注释掉

在17行左右,将
agentAddress udp:161,udp6:[::1]:161
取消注释

这样可以我们在别的计算机上通过命令查看,而不是只能通过本地访问。

可以我发现这样配置后查看snmpd的状态发现总是snmpd is not running。

经过一番查找发现是ipv6 的问题。

因为默认的该版本的ubuntu是没有开启ipv6的。

查看版本是否开启了ipv6

cat /proc/sys/net/ipv6/conf/all/disable_ipv6


如果是1则关闭,如果显示是0则是开启的。

我的ubuntu14则没有开启,为此有两种办法解决。

1.不配置snmp的ipv6,只是用ipv4
2.配置ubuntu使之支持ipv6


方法一:

只配置
agentAddress udp:161
即可。

重启snmpd 没有问题。

方法二:

我没有试试 ,如果有需求的看wiki https://wiki.ubuntu.com/IPv6

配置更多的信息项目

在大约48行左右,注释掉

view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1


增加一行

view   systemonly  included   .1


这里原来的配置只允许让问两个信息,改成.1后可以看到更多的信息。

配置mib

这个mib我没有仔细的研究,但是他是提高snmp可阅读性的一种方法。更直观。

此时注意修改的是snmp 客户端配置

vim /etc/snmp/snmp.conf


把mib:这行注释掉

执行snmpwalk 出错

Cannot adopt OID in NET-SNMP-AGENT-MIB


出现了大量的以上错误。原因是本地没有映射表(我自己起的名字,就是没有一个对照的文件)

apt-get install snmp


apt-get install snmp-mibs-downloader


在执行命令就没问题了。

配置“密码”

很多教程叫做共同体,他的作用就是约定一个类似密码的东西,如果你不知道,就不能通过snmp 获得系统的数据。

上文中 -c public 中的public 就是“密码”

rocommunity public  default    -V systemonly


中的public 可以改成任意的,如改成 test.

你再次通过

snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.1.1


就无法获得信息。

snmpwalk -v 2c -c test localhost 1.3.6.1.2.1.1.1


才能获取到信息

还有一个贯穿全文的 -v 2c 指的是snmp的版本。为什么是2c,而不是2.这里也不用纠结,只是一种约定。

至此,ubuntu上的安装配置就完成了。

如果你在配置的时候遇到问题,欢迎讨论。

参考资料

[1].https://serverfault.com/questions/440285/why-does-snmp-fail-to-use-its-own-mibs

[2].http://www.linuxidc.com/Linux/2016-03/129618.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: