SNMP--安装

简介

简单网络管理协议(SNMP,Simple Network Management Protocol),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。

安装

ubuntu上安装命令如下

apt install snmp snmpd snmp-mibs-downloader

centos上安装命令如下:

yum install -y net-snmp net-snmp-utils

查看版本

snmpd -v

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

启动

service snmpd start

配置文件介绍

1)/etc/snmp/snmp.conf

这个配置文件是说snmp包因为license原因,默认不加载MIBs,如果你要加载MIBs,你可以把文件中的mibs这行注释掉

2)/etc/snmp/snmpd.conf

这个配置文件为agent配置文件,重要配置有:

1)设置能够访问的mib树

view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1

上面两条view配置限制了只能访问mib树的一部分,可以注释掉这两行,添加下面的配置,然后重启snmpd服务

view   systemonly  included   .1

2)设置外部访问

snmp默认只能通过本机访问,可以注释掉下面这行,然后重启snmpd服务

agentAddress  udp:127.0.0.1:161

3)/var/lib/snmp/snmpd.conf或/var/lib/net-snmp/snmpd.conf

这个配置文件为 net-snmp (或 ucd-snmp)数据持久化文件,是存放用户token信息的,不要手工编辑这个文件。

4)/var/lib/snmp/mib_indexes或/var/lib/net-snmp/mib_indexes

此目录为mib索引目录

5)/usr/share/snmp/mibs

为mib存放目录

### 安装和配置 SNMP-Trap 服务 #### 准备工作 为了能够正确安装和配置 SNMP-Trap 服务,需要确保系统环境已准备好。具体来说,需确认操作系统支持 `net-snmp` 库及其相关工具包,并具备基本的网络通信能力。 #### 安装过程 可以通过以下命令完成 `snmptrapd` 的安装及相关依赖项: ```bash yum -y install net-snmp net-snmp-agent-libs net-snmp-devel net-snmp-libs net-snmp-perl net-snmp-utils ``` 这一步骤涵盖了所有必要的组件以支持 SNMP 协议以及 Trap 功能[^1]。 #### 配置文件修改 默认情况下,`/etc/snmp/snmptrapd.conf` 是用于定义 snmptrapd 行为的主要配置文件。编辑此文件来指定允许访问的服务端口、团体名以及其他安全设置。例如,添加如下行以便启用特定社区字符串的支持: ```plaintext authCommunity log,execute,net public ``` #### 启动与验证服务状态 启动 `snmptrapd` 并将其设为开机自启: ```bash systemctl start snmptrapd systemctl enable snmptrapd ``` 随后可通过查看日志或者监听端口的方式检验服务是否正常运作。通常的日志记录路径位于 `/var/log/messages` 或者专门的日志目录下。一条典型的陷阱消息类似于下面这样: ``` 2008-11-11 10:39:10 localhost [127.0.0.1] (via UDP: [127.0.0.1]:44769) TRAP, SNMP v1, community public ``` 以上示例展示了接收到的一个标准 V1 版本的 SNMP Trap 报告[^2]。 #### 发送测试数据至服务器 如果希望主动触发某些事件从而向监控中心提交通知,则可以利用 C 编程语言编写脚本来模拟发送行为。这里给出一个简单的例子作为参考依据之一: ```c #include <stdio.h> #include <net-snmp/net-snmp-config.h> #include <net-snmp/net-snmp-includes.h> int main() { init_snmp("send_trap"); oid anOID[MAX_OID_LEN]; size_t anOID_len = MAX_OID_LEN; read_objid("1.3.6.1.4.1", anOID, &anOID_len); struct variable_list *vars = NULL; add_var(&vars, anOID, anOID_len, ASN_INTEGER, "1"); send_v2trap(anOID, anOID_len, "", vars); return 0; } ``` 上述代码片段展示的是基于 Net-SNMP 开发的一段简易程序框架,它负责构建并投递定制化的警报信息给远程管理节点[^3]。 #### 设备侧配合操作 对于华为交换机这类硬件设施而言,其内部也需要开启相应的功能选项才能协同工作。典型指令序列包括但不限于以下几个方面: - **激活SNMP代理模块** - **设定兼容版本号** - **开放TRAP推送权限** - **绑定源接口IP地址** 实际应用过程中还需要注意双方之间的时间同步状况等因素的影响[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值