4、交换机SNMP配置实战:华为、思科、H3C三剑客

好,咱们直接进入正题。SNMP配置这东西,说白了就是给交换机开个“后门”,让监控系统能进去拿数据。不同厂商的命令长得不一样,但核心逻辑就那几样:读、写、陷阱。我这些年摸过的设备,华为、思科、H3C这三家占了九成。今天就把它们的配置套路掰开揉碎讲清楚。

4.1 华为交换机SNMP配置

华为的设备,我个人习惯用V3版本,安全。但很多老项目还在用V2C,咱们都讲。

4.1.1 SNMPv2C配置(简单场景)

先来个最基础的。只读团体字设成“public”,写操作一般不开,除非你确定需要。

<Huawei> system-view
[Huawei] snmp-agent
[Huawei] snmp-agent community read public
[Huawei] snmp-agent sys-info version v2c
[Huawei] snmp-agent trap enable
[Huawei] snmp-agent target-host trap address udp-domain 192.168.1.100 params securityname public v2c

嗯,这里要注意:snmp-agent这条命令是开启SNMP服务。我遇到过有人忘了敲,折腾半天连不上。

4.1.2 SNMPv3配置(推荐方案)

V3版本支持认证和加密。我在项目中遇到过客户要求必须加密,否则不给过等保。

<Huawei> system-view
[Huawei] snmp-agent
[Huawei] snmp-agent sys-info version v3
[Huawei] snmp-agent group v3 mygroup privacy
[Huawei] snmp-agent usm-user v3 admin
[Huawei] snmp-agent usm-user v3 admin group mygroup
[Huawei] snmp-agent usm-user v3 admin authentication-mode sha
Please configure the authentication password (8-255)
Enter Password: 12345678
Confirm Password: 12345678
[Huawei] snmp-agent usm-user v3 admin privacy-mode aes128
Please configure the privacy password (8-255)
Enter Password: 87654321
Confirm Password: 87654321
[Huawei] snmp-agent trap enable
[Huawei] snmp-agent target-host trap address udp-domain 192.168.1.100 params securityname admin v3 privacy
我的小技巧:认证密码和加密密码别设成一样的。曾经有个项目,运维图省事设成一样,结果审计被扣分。

4.2 思科交换机SNMP配置

思科的语法跟华为不太一样,但思路相通。你想想看,都是RFC标准,底层逻辑是一样的。

4.2.1 SNMPv2C配置

Switch> enable
Switch# configure terminal
Switch(config)# snmp-server community public RO
Switch(config)# snmp-server community private RW
Switch(config)# snmp-server enable traps
Switch(config)# snmp-server host 192.168.1.100 version 2c public

思科这里有个坑:RO是只读,RW是读写。我曾经见过有人把public设成RW,结果被外部扫描到,差点出事。

4.2.2 SNMPv3配置

Switch(config)# snmp-server group mygroup v3 priv
Switch(config)# snmp-server user admin mygroup v3 auth sha 12345678 priv aes 128 87654321
Switch(config)# snmp-server enable traps
Switch(config)# snmp-server host 192.168.1.100 version 3 priv admin
注意:思科的V3用户配置是一行搞定,不像华为要分两步。但密码复杂度要求更高,太简单会报错。

4.3 H3C交换机SNMP配置

H3C的配置,说实话跟华为很像。毕竟同根同源。但细节上有些差异,我刚开始接触时也踩过坑。

4.3.1 SNMPv2C配置

<H3C> system-view
[H3C] snmp-agent
[H3C] snmp-agent community read public
[H3C] snmp-agent sys-info version v2c
[H3C] snmp-agent trap enable
[H3C] snmp-agent target-host trap address udp-domain 192.168.1.100 params securityname public v2c

是不是跟华为几乎一样?但注意,H3C有些老版本不支持snmp-agent sys-info version这条命令,得用snmp-agent version v2c

4.3.2 SNMPv3配置

<H3C> system-view
[H3C] snmp-agent
[H3C] snmp-agent sys-info version v3
[H3C] snmp-agent group v3 mygroup privacy
[H3C] snmp-agent usm-user v3 admin
[H3C] snmp-agent usm-user v3 admin group mygroup
[H3C] snmp-agent usm-user v3 admin authentication-mode sha
Please configure the authentication password (8-255)
Enter Password: 12345678
Confirm Password: 12345678
[H3C] snmp-agent usm-user v3 admin privacy-mode aes128
Please configure the privacy password (8-255)
Enter Password: 87654321
Confirm Password: 87654321
[H3C] snmp-agent trap enable
[H3C] snmp-agent target-host trap address udp-domain 192.168.1.100 params securityname admin v3 privacy

核心对比:华为和H3C的V3配置几乎可以通用,但思科是一行命令搞定。我个人建议,如果团队同时管理多厂商设备,最好统一用V3,安全且兼容性好。

4.4 配置验证与排错

配置完了,怎么知道对不对?我一般用三步验证法。

  1. 本地查看:在交换机上敲display snmp-agent community(华为/H3C)或show snmp community(思科),看团体字是否生效。
  2. 远程测试:snmpwalk命令从监控服务器测试。比如:snmpwalk -v 2c -c public 192.168.1.1 1.3.6.1.2.1.1。能返回系统信息就说明通了。
  3. 陷阱测试:手动触发一个事件,比如拔掉一根网线,看监控服务器能不能收到陷阱。
避坑指南:我曾经遇到过配置完全正确,但就是收不到陷阱。查了半天,发现是防火墙把UDP 162端口给封了。嗯,这种低级错误最容易忽略。

4.5 实战建议

场景 推荐版本 理由
内网监控 SNMPv2C 配置简单,性能开销小
跨公网监控 SNMPv3 加密传输,防止窃听
等保合规 SNMPv3 必须使用认证和加密

说白了,选哪个版本取决于你的安全要求。内网环境用V2C省事,公网或合规要求必须上V3。我个人的经验是,新项目一律V3,省得后面返工。

好了,这一章的内容就这些。配置命令不难,关键是要理解背后的逻辑。下一章咱们聊聊怎么用SNMP采集数据,以及常见的性能指标。