SNMP监控配置

1.Centos and  Ubuntu  snmp 配置

安装 Net-SNMP

CentOS及其它RedHat系列产品提供了net-snmp的二进制包。我们可以直接从源里安装。

shell> yum install net-snmp net-snmp-devel net-snmp-utils

说明:net-snmp-devel是为了使用net-snmp-config, net-snmp-utils是为了使用snmpwalk。

配置 Net-SNMP

在笔者的试验环境下,CentOS下的net-snmp无法在selinux环境下正常使用v3。 如果您想使用snmp v3,请先禁用selinux。

shell> net-snmp-config --create-snmpv3-user -ro -A snmp@www -a MD5 zhouuu

以上命令,创建一个snmpv3用户,只读,使用MD5,用户名为zhouuu,密码为snmp@www。

注意:运行之前请先停用net-snmp服务。

shell> service snmpd stop

运行 Net-SNMP

运行 Net-SNMP 服务的方法比较简单,不过Net-SNMP服务的名字是snmpd。

shell> service snmpd start

您可能需要把它加入开机自动运行服务列表。

shell> chkconfig snmpd on

检测 Net-SNMP

我们可以使用 snmpwalk 来检测snmp服务是否正常开启。

shell> snmpwalk -v 3 -u zhouuu -a MD5 -A "snmp@www" -l authNoPriv 127.0.0.1 sysDescr

如果一切正常,就会返回正常结果。 有关snmpwalk的参数说明,请参见其man文档。

Ubuntu 用apt-get安装就可以了

  
  
  1. shell> apt-get -y install snmp snmpd snmp-mibs-downloader
  2. shell> net-snmp-config --create-snmpv3-user -ro -A snmp@www -a MD5 zhouuu
  3. shell> /etc/init.d/snmpd start
  4. 验证:
  5. shell> snmpwalk -v 3 -u zhouuu -a MD5 -A "snmp@www" -l authNoPriv 127.0.0.1 sysDescr
  6.  
  7. 错误:sysDescr: Unknown Object Identifier (Sub-id not found: (top) -> sysDescr)
  8. 解决:/etc/snmp/snmp.conf 注释掉 mibs :

2.源码安装

以下的示例采用SUSE10 Linux环境,但它同样适用于其它Linux发行版。

编译和安装

首先我们需要下载Net-SNMP的源代码,选择一个版本,比如5.7.1,地址如下:

http://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.1/

接下来对下载的源代码包进行解压缩,如下:

suse10:~ # tar xzvf net-snmp-5.7.1.tar.gz

然后通过configure来生成编译规则,如下:

suse10:~ # cd net-snmp-5.7.1
suse10:~ # ./configure --prefix=/usr/local/snmp --with-mib-modules=ucd-snmp/diskio

注意,以上的

--with-mib-modules=ucd-snmp/diskio    //选项,可以让服务器支持磁盘I/O监控。

接下来,开始编译和安装:

suse10:~ # make
suse10:~ # make install

到现在为止,我们已经有了可以运行的SNMP代理程序,它位于/usr/local/snmp/sbin/snmpd,在启动它之前,我们还要进行一些必要的设置。

设置安全的验证方式

将SNMP代理程序暴露给网络上的所有主机是很危险的,为了防止其它主机访问你的SNMP代理程序,我们需要在SNMP代理程序上加入身份验证机制。SNMP支持不同的验证机制,这取决于不同的SNMP协议版本,监控宝目前支持v2c和v3两个版本,其中v2c版本的验证机制比较简单,它基于明文密码和授权IP来进行身份验证,而v3版本则通过用户名和密码的加密传输来实现身份验证,我们建议使用v3,当然,只要按照以下的介绍进行配置,不论是v2c版本还是v3版本,都可以保证一定的安全性,你可以根据情况来选择。

注意一点,SNMP协议版本和SNMP代理程序版本是两回事,刚才说的v2c和v3是指SNMP协议的版本,而Net-SNMP是用来实现SNMP协议的程序套件,目前它的最新版本是刚才提到的5.4.2.1。

v2c

先来看如何配置v2c版本的SNMP代理,我们来创建snmpd的配置文件,默认情况下它是不存在的,我们来创建它,如下:

suse10:~ # vi /usr/local/snmp/share/snmp/snmpd.conf

然后我们需要创建一个只读帐号,也就是read-only community,在snmpd.conf中添加以下内容:

rocommunity zhouuu 10.0.3.35    //只读账户,允许采集数据的ip地址
rocommunity zhouuu 10.0.3.34

注意:添加用户时,请确保snmp服务没有运行,否则无法添加。

注意,这里的“rocommunity”表示这是一个只读的访问权限,允许的机器只可以从你的服务器上获取信息,而不能对服务器进行任何设置。

紧接着的“zhouuu”相当于密码,很多平台喜欢使用“public”这个默认字符串。这里的“zhouuu”只是一个例子,你可以设置其它字符串作为密码。

最右边的“10.0.3.35, 10.0.3.34”代表可以访问的ip来源,有权限来访问你的SNMP代理程序。

v3

当然,我们建议您使用v3版本来进行身份验证。对于一些早期版本的Linux分发版,其内置的SNMP代理程序可能并不支持v3,所以我们建议您按照前边介绍的方法,编译和安装最新的Net-Snmp

v3支持另一种验证方式,需要创建一个v3的帐号,我们同样修改以下配置文件:

suse10:~ # vi /usr/local/snmp/share/snmp/snmpd.conf

然后添加一个只读帐号,如下:

rouser zhouuu auth

注意:添加用户时,请确保snmp服务没有运行,否则无法添加。

可以看到,在v3中,“rouser”用于表示只读帐号类型,随后的“zhouuu”是指定的用户名,后边的“auth”指明需要验证。

接下来,我们还要添加“zhouuu”这个用户,这就是v3中的特殊机制,我们打开以下配置文件:

suse10:~ # vi /var/net-snmp/snmpd.conf

这个文件会在snmpd启动的时候被自动调用,我们需要在它里边添加创建用户的指令,如下:

createUser zhouuu MD5 zhouuu@openskill

这行配置的意思是创建一个名为“zhouuu”的用户,密码为”zhouuu@openskill”,并且用MD5进行加密传输。这里要提醒的是:

密码至少要有8个字节

这是SNMP协议的规定,如果小于8个字节,通信将无法进行。

值得注意的是,一旦snmpd启动后,出于安全考虑,以上这行配置会被snmpd自动删除,当然,snmpd会将这些配置以密文的形式记录在其它文件中,重新启动snmpd是不需要再次添加这些配置的,除非你希望创建新的用户。

启动SNMP代理程序

经过配置后,现在可以启动snmpd,如下:

/usr/local/snmp/sbin/snmpd

如果要关闭,则可以直接kill这个进程,如下:

killall -9 snmpd

增强的安全机制

有了以上的验证机制,你就可以放心的使用SNMP代理了。但是,如果你的SNMP代理程序版本较低,可能会有一些别有用心的破坏者利用一些固有的漏洞进行破坏,比如发送较长的数据导致SNMP代理程序内存泄漏或者拒绝服务等,为此,你还可以使用防火墙(iptables)来进行增强的安全过滤。

在Linux中,我们用iptables来实现防火墙,一般情况下,除了流入指定端口的数据包以外,我们应该将其它流入的IP数据包抛弃。你可能已经配置了一定的防火墙规则,那么只要增加针对SNMP的规则即可。

SNMP代理程序默认监控在udp161端口,为你的iptables增加以下规则:

iptables -A INPUT -i eth0 -p udp -s 10.0.3.35 --dport 161 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s 10.0.3.34 --dport 161 -j ACCEPT

以上设置中假设服务器外网网卡是eth0,你可以根据实际情况来修改。

这样一来,只有你允许的机器可以发送UDP数据包到你的服务器的161端口,与SNMP代理程序进行通信。

3.Windows下snmp配置

这里以Windows Server 2003为例,对于其它Windows服务器产品,方法类似。

首先你必须确认当前的Windows组件中是否已经安装了SNMP协议,很简单,在控制面板的“添加或删除程序”中,查看已安装的Windows组件,在“管理和监控工具”中你会发现“简单网络管理协议(SNMP)”,如果没有安装,则打勾进行安装,期间你可能需要定位Windows安装盘,这些对你来说并不困难。

79

SNMP组件安装成功后,接下来打开“管理”菜单中的“服务”。

80

找到SNMP Service,双击它进行配置。这里需要注意的是,在前边安装SNMP协议后,SNMP Service会默认启动,而它下边的SNMP Trap Service是不需要开启的,如果它已被开启,请关闭它。

81

在SNMP Service的配置窗口中,你只需要切换到“安全”选项卡,按照以下的图示进行填写,这里的团体名称就是前边介绍过的SNMP v2c版本中的密码字符串,这里的“public”只是一个例子,你可以填写其它的字符串,随后在监控宝中添加服务器时,选择2c协议,同时在Community输入框中填写这个团体名称即可。

另一个需要特别设置的地方是下边的授权主机,选择“接受来自这些主机的SNMP数据包”,然后在下边的指定主机中添加“60.195.249.83、60.195.252.107、 60.195.252.110”这3个IP,这是监控宝的专用监控点,这使得除此之外的其它服务器无法获取你的服务器监控信息。

39

一切配置好后,保证SNMP Service已经开启,并且如果以后重启了服务器,也请来检查是否开启了SNMP Service,当然,如果该服务被关闭,监控宝会在服务器监控视图中提醒你。

另外,还要保证你的服务器已经打开了SNMP Service的端口,默认为UDP 161。如果你启用了系统防火墙,那么请添加这个例外端口,打开本地连接->属性->高级->防火墙->例外,添加端口如下:

防火墙截图地连接->属性->高级->防火墙->例外->
添加端口.

防火墙设置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A:以下是锐捷交换机配置zabbix snmp 监控的步骤: 1. 确认交换机支持 SNMP 命令,并且已经安装了 Zabbix Server。 2. 在交换机上启用 SNMP 服务。 3. 配置 SNMP Community 和 SNMP version。 4. 在 Zabbix Server 上创建一个 Host,并在 Host 的 Interfaces 中添加交换机的 IP 地址和 SNMP 端口。 5. 配置 Zabbix Server 的 Template,选择锐捷交换机的模板并将其应用于该主机。 6. 在 Host 上启用 Zabbix Agent。 7. 在 Zabbix Server 上测试监视结果。 具体配置方法如下: 1. 启用 SNMP 服务 进入交换机终端界面,输入以下命令: snmp-server 2. 配置 SNMP Community 和 SNMP version 在交换机中配置 SNMP Community 和 SNMP version。Community 是 SNMP 通信中的一种安全认证,用于验证 SNMP 请求的来源。SNMP version 则表示使用哪个版本的 SNMP 协议: snmp-server community public ro 其中,public 是 Community 名称,ro 表示只读访问权限。如果希望具有读写权限,则使用 rw。 配置 SNMP version,请输入以下命令: snmp-server version 2c 此外,如果要在交换机中配置 SNMP Trap 接收器,则需要配置以下命令: snmp-server host <Trap 接收器 IP 地址> version 2c <Community 名称> 3. 创建 Host 并添加 Interfaces 在 Zabbix Server 上创建一个 Host。在 Host 的 Interfaces 中,添加交换机的 IP 地址和 SNMP 端口(默认为 161): 4. 配置 Template 在 Zabbix Server 上,选择锐捷交换机的模板,并将其应用于 Host。 5. 启用 Zabbix Agent 在 Host 上启用 Zabbix Agent,并设置其主机名称和 IP 地址: 6. 测试监视结果 在 Zabbix Server 上,使用图形界面查看监视结果。如果一切正常,各种监视项的值应该正常显示。 以上就是锐捷交换机配置zabbix snmp 监控的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值