华为交换机 SNMPv3 Trap 配置与验证指南

华为交换机 SNMPv3 Trap 配置与验证指南

本文档介绍如何在华为交换机上配置 SNMPv3 Trap,并使用 tcpdump 进行抓包验证,确保 Trap 报文能够正常发出。

一、适用场景

  • 设备:华为交换机(V200R 系列及兼容版本)
  • 目标:配置 SNMPv3(认证+加密),使交换机能够向网管系统发送 Trap 告警
  • 验证方式:通过 tcpdump 抓包确认 Trap 报文是否正常发出

二、完整配置步骤

2.1 清空现有 SNMP 配置(如需从零开始)

<HUAWEI>system-view[HUAWEI]undo snmp-agent

2.2 按顺序执行配置命令

# 1. 开启 SNMP 代理[HUAWEI]snmp-agent# 2. 设置版本为纯 v3(禁用 v1/v2c)[HUAWEI]snmp-agent sys-info version v3# 3. 创建 MIB 视图(用于控制可访问的节点范围)[HUAWEI]snmp-agent mib-view included iso-view iso# 4. 创建 v3 组(⚠️ 关键:必须指定 notify-view)[HUAWEI]snmp-agent group v3 admin-group privacy notify-view iso-view read-view iso-view write-view iso-view# 5. 创建 v3 用户(交互式设置密码)[HUAWEI]snmp-agent usm-user v3 user01[HUAWEI]snmp-agent usm-user v3 user01 group admin-group# 设置认证协议和密码(推荐 SHA)[HUAWEI]snmp-agent usm-user v3 user01 authentication-mode sha# 系统提示输入认证密码(8-64位),输入后回车确认# 设置加密协议和密码(推荐 AES128)[HUAWEI]snmp-agent usm-user v3 user01 privacy-mode aes128# 系统提示输入加密密码(8-64位),输入后回车确认# 6. 配置 Trap 目标主机[HUAWEI]snmp-agent target-hosttrapaddress udp-domain192.168.30.132 params securityname user01 v3 privacy# 7. 全局开启 Trap 功能[HUAWEI]snmp-agenttrapenable

2.3 配置要点说明

步骤关键参数说明
版本设置version v3仅启用 v3,禁用不安全的 v1/v2c
Groupnotify-view必配,控制 Trap 能发送哪些 MIB 节点,缺失将导致 Trap 被丢弃
认证协议sha比 md5 更安全
加密协议aes128比 des56 更安全,推荐使用
Target-hostv3 privacy指定使用 v3 且认证加密

三、验证配置

3.1 查看配置是否生效

# 查看 SNMP 版本display snmp-agent sys-info version# 查看目标主机display snmp-agent target-host# 查看 v3 用户display snmp-agent usm-user# 查看 group 配置(确认 notify-view 是否存在)display snmp-agent group# 查看 MIB 视图display snmp-agent mib-view

3.2 预期结果

  • display snmp-agent sys-info version:Polling 和 Trap 均只显示 SNMPv3 enable
  • display snmp-agent target-host:只有一条记录,Version 为 v3,Level 为 Privacy
  • display snmp-agent usm-user:显示用户存在,状态为 active,认证和加密协议已配置

四、触发 Trap 事件

4.1 通过拔插网线触发链路状态变化

找一个空闲的物理口(如 GigabitEthernet0/0/3):

# 确认端口未被 shutdowninterface GigabitEthernet0/0/3 display this|includeshutdown

确认端口正常后,插入网线(另一端接笔记本或测试设备),等待 3 秒,然后拔出。

4.2 检查事件是否产生

# 查看 trapbuffer 是否有链路日志display trapbuffer# 查看 SNMP 统计(关键是 Trap-PDU sent)display snmp-agent statistics|include Trap-PDU

如果 Trap-PDU sent 计数增加,说明交换机已尝试发送 Trap。

五、使用 tcpdump 抓包验证

5.1 在网管侧执行抓包

登录到目标主机(Trap 接收端,如 192.168.30.132),执行以下命令:

# 实时查看是否有 SNMP 报文发向本机 162 端口sudotcpdump-iany-n-vvport162# 如需保存为 pcap 文件供后续分析sudotcpdump-iany-n-vvport162-wsnmp_trap.pcap

5.2 正常结果(纯 v3)

成功配置后,抓包应显示类似内容(具体输出可能因加密而无法完全解析,但头部会明确显示 SNMPv3):

IP 192.168.30.232.55470 > 192.168.30.132.snmptrap: { SNMPv3 { User=user01 } ... }

关键特征:

✅ 报文头部明确显示 SNMPv3
✅ 没有 SNMPv2c 或 C=“xxxxx”(团体字)字段
✅ 报文内容为密文,无法直接读取 OID(加密生效)

5.3 异常结果排查

抓包结果可能原因解决方案
无任何报文交换机未尝试发送 Trap检查 group 是否配置 notify-view;检查 snmp-agent trap enable 是否开启
出现 SNMPv2c C=“xxx”仍有 v2c 通道未删除执行undo snmp-agent target-host ... v2c删除
有 SNMPv3 报文但网管无响应认证/加密密码不匹配核对网管侧密码与交换机完全一致

六、常见故障:notify-view 缺失导致 Trap 发不出

6.1 问题现象

display trapbuffer有链路日志(事件已产生)
display snmp-agent statistics中 Trap-PDU sent 不增加
❌ tcpdump 无任何报文

6.2 问题配置

snmp-agent group v3 admin-group privacy

这条命令缺少notify-view参数。

6.3 原理说明

Group 参数作用对 Trap 的影响
read-view控制 Get/GetNext 可读的 MIB 节点不影响 Trap
write-view控制 Set 可写的 MIB 节点不影响 Trap
notify-view控制 Trap 可发送的 MIB 节点未配置则 Trap 被丢弃

在华为交换机中,read-view 和 write-view 有默认值(ViewDefault),但 notify-view 没有默认值,必须手动指定。

6.4 修复方法

system-view undo snmp-agent group v3 admin-group privacy snmp-agent group v3 admin-group privacy notify-view ViewDefault read-view ViewDefault write-view ViewDefault quit save

修复后,重新拔插网线触发事件,Trap-PDU sent 计数应增加,tcpdump 能抓到 SNMPv3 报文。

七、附录

A. 常用诊断命令速查

# 查看 SNMP 统计(Trap-PDU sent 是关键指标)display snmp-agent statistics|include Trap-PDU# 查看 trapbuffer 日志display trapbuffer# 清空 trapbuffer(测试用)reset trapbuffer# 查看目标主机配置display snmp-agent target-host# 查看 v3 用户详情display snmp-agent usm-user# 查看 group 配置display snmp-agent group# 查看 MIB 视图display snmp-agent mib-view# 查看端口状态display interface brief

B. 查看 v3 用户的认证与加密方式

display snmp-agent usm-user

输出示例:

User name: user01 Engine ID: 800007DB0350464A79E60D active Authentication Protocol: sha# 认证方式Privacy Protocol: aes128# 加密方式Group name: admin-group
  • Authentication Protocol:认证协议(sha / md5 / 无)
  • Privacy Protocol:加密协议(aes128 / des56 / aes256 / 无)

C. tcpdump 常用选项

# 基本用法tcpdump-iany-n-vvport162# 指定网卡(如 eth0)tcpdump-ieth0-n-vvport162# 只抓取来自交换机的包(以 IP 过滤)tcpdump-iany-n-vvsrchost192.168.30.232 and port162# 保存为 pcap 文件tcpdump-iany-n-vvport162-w/tmp/trap.pcap# 读取 pcap 文件分析tcpdump-n-vv-r/tmp/trap.pcap

D. 支持的认证与加密协议(华为交换机)

认证协议加密协议
md5des56
shaaes128
sha2-256(部分新版本)aes192 / aes256(部分新版本)