ubuntu 安装配置snmp

xiaoxiao2021-02-28  36

前提

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 # ###############################################################################

Ubuntu 上的配置如同上图注意和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

转载请注明原文地址: https://www.6miu.com/read-200189.html

最新回复(0)