【snmp】测试流程

一、SNMP协议概述

SNMP是基于TCP/IP协议族的网络管理标准,是一种在IP网络中管理网络节点(如服务器、工作站、路由器、交换机等)的标准协议。SNMP能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长。网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题。

SNMP管理的网络主要由三部分组成:

被管理的设备

SNMP代理

网络管理系统(NMS)

它们之间的关系如图所示。

 

 

网络中被管理的每一个设备都存在一个管理信息库(MIB)用于收集并储存管理信息。通过SNMP协议,NMS能获取这些信息。被管理设备,又称为网络单元或网络节点,可以是支持SNMP协议的路由器、交换机、服务器或者主机等等。

SNMP代理是被管理设备上的一个网络管理软件模块,拥有本地设备的相关管理信息,并用于将它们转换成与SNMP兼容的格式,传递给NMS。

 

NMS运行应用程序来实现监控被管理设备的功能。另外,NMS还为网络管理提供大量的处理程序及必须的储存资源。

基本上,SNMP代理者以变量呈现管理资料。管理系统透过GETGETNEXTGETBULK协定指令取回资讯,或是代理者在没有被询问的情况下,使用TRAPINFORM传送资料。管理系统也可以传送配置更新或控制的请求,透过SET协定指令达到主动管理系统的目的。配置和控制指令只有当网络基本结构需要改变的时候使用,而监控指令则通常是常态性的工作。

 

二、协议版本区别

①SNMPv1SNMP协议的最初版本,提供最小限度的网络管理功能。SNMPv1SMIMIB都比较简单,且存在较多安全缺陷。
SNMPv1采用团体名认证。团体名的作用类似于密码,用来限制NMSAgent的访问。如果SNMP报文携带的团体名没有得到NMS/Agent的认可,该报文将被丢弃
②SNMPv2c
SNMPv2c也采用团体名认证。在兼容SNMPv1的同时又扩充了SNMPv1的功能:它提供了更多的操作类型(GetBulkinform操作);支持更多的数据类型(Counter32等);提供了更丰富的错误代码,能够更细致地区分错误。

 

三、SNMP工作原理

SNMP采用特殊的客户机/服务器模式,即代理/管理站模型。对网络的管理与维护是通过管理工作站与SNMP代理间的交互工作完成的。每个SNMP从代理负责回答SNMP管理工作站(主代理)关于MIB定义信息的各种查询。
SNMP的应用场景如图1所示:

管理站和代理端使用MIB进行接口统一,MIB定义了设备中的被管理对象。管理站和代理都实现相应的MIB对象,使得双方可以识别对方的数据,实现通信。管理站向代理请求MIB中定义的数据,代理端识别后,将管理设备提供的相关状态或参数等数据转换成MIB定义的格式,最后将该信息返回给管理站,完成一次管理操作。

 

 

四、利用路由器进行SNMP测试

1SNMP测试工具

常用的网络管理协议有:snmp、ssh、telnet、soap等
Snmp:远程管理工具,用于管理路由器设备使用的管理软件有很多种,可以用以下软件进行管理。

 

 

2、路由器配置SNMP测试功能点说明:

 

2.1 SNMP设置

 

这边端口保持和我们的软件上面填写的短号号一致就好  并不一定是161

 

 

对不同的SNMP版本如SNMPv1SNMPv2进行选择测试

ps:本地信息和联系信息类似于一个联系方式,在这里我们测试只要能够在mib browserget到就可以

 

 

2.2 设置视图  & VACM

这边端口保持和我们的软件上面填写的短号号一致就好  并不一定是161

 

VACM

 

 

2.3 设置trap

trap的作用是,当设备(路由器)的出现问题的时候,可以向服务器传报消息

设置端口应该与前面SNMP的端口和我们的MIBbrowser软件的端口保持一致,才能正常让MIBbrowser软件连接

 

 

 

2.4 MIB

用于下载mib文件,mib文件的作用是查看设备的节点信息,公司设备的mib文件中只有最后一个是我们路由器信息的mib文件,其他都是行业规定的mib文件。

Mib文件的作用:mib主要用于查看设备的各个节点所对应的名称信息等,或者说就是查看设备的iod(节点信息)

 

 

 

2.5 mib browser软件

将下载的mib文件,导入到mib browser中,按下图设置,连接设备

 

 

2.6 在左边展开mib文件,呈现的为当前要管理的设备如路由器的一个操作节点树

 

 

右边则为配置要操作的设备ip,要操作的共同体权限

 

 

打红色的× 只能进行get(获取信息操作)

不带红色的×的才可以进行set操作

操作1get操作

get文件夹节点信息

 

 

get某一个叶子节点信息,直接右击现在想要查看的信息,get获取

 

 

操作2set操作

 

设置完之后可以用Xshell工具或者其他工具验证是否修改set成功

操作3trap功能

工具开启trap接收服务
View->Trap View
设置好端口以及用户名

 

 

路由器端开启trap功能,在软件上点击start

 

 

连接成功trap会收到一条连接成功的信息

 

 

 

可以在show details查看对应的消息

 

 

可以自定义 trap 消息接口

例子(eg.):

路由器可以在串口中使用ubus 来发送trap消息

 root@ROUTER:~# ubus call yruo_snmp eventtrap '{"head":"hello", "body":"world"}

Head  body 定义类似于发送邮件的主题和正文

 

可以在我们的管理工具上查看到设备发送过来的对应的信息。

转载于:https://www.cnblogs.com/chenxiaomeng/p/8668131.html

<think>好的,我现在需要帮助用户进行SNMP测试配置实验的环境搭建。首先,用户提到可能是为了学习或验证SNMP配置的正确性,所以我得确保步骤清晰,适合新手操作。 首先,我应该考虑用户可能的实验环境选择。常见的有物理机、虚拟机或者网络模拟器。根据引用[3],用户可能使用Windows 10物理机,配合VMware里的Windows 7,或者eNSP。不过更常见的可能是Linux环境,因为引用[1]提到Linux下的SNMP配置,所以需要涵盖Linux的设置步骤。 接下来,安装SNMP服务是关键步骤。在Linux中,用户需要安装snmpd和snmp软件包,我得给出具体的安装命令,比如Ubuntu/Debian用apt,CentOS用yum。同时,Windows方面可能需要启用SNMP服务,但引用[3]提到的Windows 7可能步骤不同,需要指导用户通过控制面板操作。 然后是配置文件的修改,特别是snmpd.conf。用户需要允许外部访问,可能需要修改agentAddress,设置rocommunity,并配置视图和访问权限。这里要提醒用户备份原文件,避免配置错误。例如,将agentAddress从127.0.0.1改为0.0.0.0以监听所有接口,同时设置只读社区名,比如public,并允许访问系统信息。 防火墙设置也是容易出问题的地方。引用[1]和[2]都提到了防火墙配置,需要开放UDP 161端口。不同的Linux发行版可能有不同的防火墙管理工具,比如ufw或firewalld,需要分别说明。例如,Ubuntu用ufw allow 161/udp,CentOS用firewall-cmd添加端口。 启动服务并设置开机自启,这部分需要给出systemctl的命令,并提示用户检查服务状态,确保snmpd运行正常。 测试部分,用户需要使用snmpwalk或snmpget命令,指定正确的社区名和OID。例如,snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.1.1获取系统描述。如果测试失败,可能需要排查配置文件、防火墙、服务状态或社区名是否正确。 在注意事项中,要强调社区名的安全性,避免使用public,并限制访问IP。同时,实验环境下可能不需要严格的安全措施,但实际生产环境需要更多配置。 相关问题部分,根据用户的学习目的,可以推荐使用eNSP或GNS3模拟网络设备,或者通过Wireshark抓包分析SNMP流量,这有助于理解协议工作原理。引用[3]提到的VMware和eNSP可以作为实验工具,用户可能已经有一定的环境,可以进一步利用。 最后,确保整个流程逻辑清晰,步骤详细,用户能够一步步跟随操作,避免遗漏关键点。同时,引用相关的参考资料,帮助用户进一步查阅。</think>### SNMP测试配置实验环境搭建步骤 #### 1. **实验环境选择** - **物理机/虚拟机**:推荐使用Linux系统(如Ubuntu/CentOS)或Windows Server[^1][^3] - **网络模拟器**:可选用eNSP或GNS3模拟网络设备(如路由器/交换机)[^3] #### 2. **安装SNMP服务** **Linux环境**(以Ubuntu为例): ```bash sudo apt-get install snmpd snmp # 安装服务端和客户端工具 ``` **Windows环境**: 通过“控制面板→程序→启用或关闭Windows功能→简单网络管理协议(SNMP)”启用 #### 3. **配置SNMP代理(Agent)** - 修改配置文件`/etc/snmp/snmpd.conf`: ```bash # 监听所有接口 agentAddress udp:0.0.0.0:161 # 设置只读社区名(实验可用public,生产环境需更换) rocommunity public 127.0.0.1/32 # 允许访问系统信息 view systemview included .1.3.6.1.2.1.1 ``` - 执行`sudo systemctl restart snmpd`重启服务 #### 4. **防火墙设置** ```bash sudo ufw allow 161/udp # Ubuntu防火墙规则 # 或CentOS: sudo firewall-cmd --permanent --add-port=161/udp sudo firewall-cmd --reload ``` #### 5. **测试SNMP通信** ```bash snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.1.1 # 获取系统描述 ``` **预期输出**: ``` SNMPv2-MIB::sysDescr.0 = STRING: Linux hostname 5.4.0-xx-generic #xx-Ubuntu SMP ... ``` #### 6. **常见问题排查** - **连接失败**:检查`snmpd`服务状态`systemctl status snmpd` - **权限问题**:确认配置文件中`rocommunity`的IP范围 - **数据无返回**:检查OID路径是否正确(建议从`.1.3.6.1.2.1.1`开始逐步缩小范围) #### 7. **进阶实验建议** - 使用Wireshark抓包分析SNMP协议交互过程 - 通过MIB浏览器(如iReasoning MIB Browser)可视化查询数据 $$ \text{SNMP协议交互模型:} Manager \xrightarrow[UDP 161]{GetRequest} Agent \xrightarrow{Response} Manager $$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值