SNMP 协议

xiemuhou 发布于 1 天前 9 次阅读




前言

这篇笔记用于记录主流网络设备上 SNMP 协议的基础配置命令,覆盖华为、华三、思科三类常见设备,并分别整理 SNMP v2c 和 SNMP v3 的典型配置方式。

SNMP 常用于网管平台采集设备 CPU、内存、接口流量、链路状态、告警 Trap 等信息。实际生产环境中,SNMP v2c 仍然常见,但它主要依赖 community 字符串,安全性较弱;SNMP v3 支持认证和加密,更适合新建或安全要求较高的网络环境。

不同设备型号、系统版本和命令视图可能略有差异,以下命令适合作为配置思路和常用模板,落地前应结合设备版本手册确认。

主体

一、SNMP 基础概念

1. SNMP v2c

SNMP v2c 使用 community 作为访问凭据。常见配置重点是:

  • 开启 SNMP Agent。
  • 指定 SNMP 版本。
  • 配置只读 community。
  • 限制网管服务器源地址。
  • 配置 Trap 目的地址。

典型适用场景:

  • 内网监控。
  • 旧网管平台兼容。
  • 安全边界较明确的管理网络。

2. SNMP v3

SNMP v3 支持用户名、认证和加密,常见安全级别包括:

安全级别含义
noAuthNoPriv不认证,不加密
authNoPriv认证,不加密
authPriv认证并加密

生产环境建议优先使用 authPriv

典型适用场景:

  • 新建网管系统。
  • 跨区域管理网络。
  • 等保、安全审计或合规要求较高的环境。

3.SNMP Trap 的作用

SNMP Trap 是一种由设备主动发送的告警机制。当设备发生特定事件时(如端口断开、电源故障、风扇异常、堆叠故障等),设备会立即向监控平台发送告警信息,而无需等待监控系统轮询。

SNMP Polling 与 SNMP Trap 的区别

方式工作原理优点缺点
SNMP Polling(轮询)监控平台定时向设备查询数据可获取详细性能数据故障发现存在延迟
SNMP Trap(主动告警)设备主动上报告警事件实时性高无法替代性能监控

常见 Trap 告警类型

  • 接口 Up/Down(链路中断、恢复)
  • 电源故障
  • 风扇故障
  • CPU/内存异常
  • 设备重启
  • 堆叠或 CSS 故障
  • AP 离线(无线网络)

生产环境建议

建议同时使用 SNMP Polling 和 SNMP Trap:

  • Polling 用于采集 CPU、内存、流量等运行指标;
  • Trap 用于实时发现链路中断、设备故障等异常事件。

两者结合可以兼顾监控数据完整性和告警实时性。

二、华为 VRP 设备配置

1. 华为 SNMP v2c 配置

示例:

system-view
snmp-agent
snmp-agent sys-info version v2c
snmp-agent community read cipher xmh@123
snmp-agent target-host trap address udp-domain 10.10.182.16 params securityname cipher xmh@123 v2c
snmp-agent trap enable
snmp-agent protocol source-status all-interface
quit
save

如果需要限制网管源地址,建议结合 ACL:

acl number 2000
rule permit source 10.10.182.16 0
quit
snmp-agent community read cipher xmh@123 acl 2000

2. 华为 SNMP v3 配置

示例:

system-view
snmp-agent
snmp-agent sys-info version v3
snmp-agent mib-view include  View_ALL iso
snmp-agent group v3 snmpv3group privacy  write-view View_ALL notify-view View_ALL
snmp-agent usm-user v3 snmpv3user group snmpv3group
snmp-agent usm-user v3 snmpv3user authentication-mode sha2-256
xmh@123
xmh@123
snmp-agent usm-user v3 snmpv3user privacy-mode aes128
xmh@123
xmh@123
snmp-agent target-host trap address udp-domain 10.10.182.16 params securityname snmpv3user v3
snmp-agent trap enable
snmp-agent protocol source-interface all
quit
save

3. 华为常用查看命令

display snmp-agent sys-info version
display snmp-agent community
display snmp-agent usm-user
display snmp-agent group
display current-configuration | include snmp-agent

三、华三 H3C Comware 设备配置

1. 华三 SNMP v2c 配置

示例:

system-view
snmp-agent
snmp-agent sys-info version v2c
snmp-agent community read simple NmsRead@123
snmp-agent target-host trap address udp-domain 192.168.10.100 params securityname NmsRead@123 v2c
snmp-agent trap enable
save force

如果需要限制网管源地址,可以结合 ACL:

acl basic 2000
rule permit source 192.168.10.100 0
quit
snmp-agent community read simple NmsRead@123 acl 2000

2. 华三 SNMP v3 配置

示例:

system-view
snmp-agent
snmp-agent sys-info version v3
snmp-agent group v3 NMS-GROUP privacy
snmp-agent usm-user v3 nms-user NMS-GROUP authentication-mode sha Auth@12345 privacy-mode aes128 Priv@12345
snmp-agent target-host trap address udp-domain 192.168.10.100 params securityname nms-user v3 privacy
snmp-agent trap enable
save force

3. 华三常用查看命令

display snmp-agent sys-info version
display snmp-agent community
display snmp-agent usm-user
display snmp-agent group
display current-configuration | include snmp-agent

四、思科 Cisco IOS/IOS XE 设备配置

1. 思科 SNMP v2c 配置

示例:

configure terminal
snmp-server community NmsRead@123 RO
snmp-server enable traps
snmp-server host 192.168.10.100 version 2c NmsRead@123
end
write memory

建议使用 ACL 限制网管源地址:

configure terminal
ip access-list standard SNMP-NMS
permit 192.168.10.100
exit
snmp-server community NmsRead@123 RO SNMP-NMS
end
write memory

2. 思科 SNMP v3 配置

示例:

configure terminal
snmp-server group NMS-GROUP v3 priv
snmp-server user nms-user NMS-GROUP v3 auth sha Auth@12345 priv aes 128 Priv@12345
snmp-server enable traps
snmp-server host 192.168.10.100 version 3 priv nms-user
end
write memory

3. 思科常用查看命令

show snmp
show snmp user
show snmp group
show running-config | include snmp-server
show access-lists

五、三类设备命令对比

1. SNMP v2c 核心差异

厂商开启 SNMP设置版本只读凭据Trap 主机
华为snmp-agentsnmp-agent sys-info version v2csnmp-agent community read ciphersnmp-agent target-host trap address udp-domain
华三snmp-agentsnmp-agent sys-info version v2csnmp-agent community read simplesnmp-agent target-host trap address udp-domain
思科默认通过 snmp-server 进入配置无需单独设置 v2c 全局版本snmp-server community ... ROsnmp-server host ... version 2c

2. SNMP v3 核心差异

厂商组配置用户配置Trap 主机
华为snmp-agent group v3 ... privacysnmp-agent usm-user v3 ... authentication-mode ... privacy-mode ...params securityname ... v3 privacy
华三snmp-agent group v3 ... privacysnmp-agent usm-user v3 ... authentication-mode ... privacy-mode ...params securityname ... v3 privacy
思科snmp-server group ... v3 privsnmp-server user ... v3 auth ... priv ...snmp-server host ... version 3 priv ...

六、配置建议

1. 优先使用 SNMP v3

如果网管平台支持,建议优先使用 SNMP v3 authPriv。相比 v2c,v3 能提供用户名、认证和加密,安全性明显更好。

2. SNMP v2c 必须限制源地址

如果必须使用 SNMP v2c,至少做到:

  • 使用复杂 community。
  • 配置 ACL 限制网管服务器源 IP。
  • 不使用 publicprivate 等默认 community。
  • 管理平面放在独立管理 VLAN 或管理网络。

3. Trap 和轮询要分开理解

SNMP 有两类常见流量:

  • 网管平台主动轮询设备:读取接口、CPU、内存等信息。
  • 设备主动发送 Trap:链路 Down、认证失败、电源异常等告警。

配置 community 或 v3 用户解决的是访问凭据问题;配置 target host 解决的是 Trap 发往哪里的问题。

4. 注意防火墙和 ACL

常见端口:

类型UDP 端口
SNMP Polling161
SNMP Trap162

如果网管平台无法采集,需要同时检查:

  • 设备 SNMP 配置。
  • 管理地址是否可达。
  • ACL 是否允许网管 IP。
  • 防火墙是否放行 UDP 161/162。
  • 网管平台使用的版本、用户名、密码、加密算法是否匹配。

总结

SNMP 配置的核心思路并不复杂:先启用协议,再配置访问凭据,然后限制网管来源,最后配置 Trap 目的地址。华为和华三的命令风格接近,都以 snmp-agent 为主;思科以 snmp-server 为主。

实践中建议优先使用 SNMP v3,并采用 authPriv 模式;如果仍需使用 SNMP v2c,应避免默认 community,并通过 ACL 限制访问源。排查问题时,要同时关注协议版本、认证参数、UDP 端口、ACL、防火墙和 Trap 目的地址。

此作者没有提供个人介绍。
最后更新于 2026-09-14