上周帮一个朋友的创业公司选交换机,他开口就问哪个牌子好,我反问了一句:这台机器要接多少人、跑不跑三层、以后会不会加摄像头和无线AP。他愣了三秒。交换机这个品类,品牌确实是选购时最直观的判断依据,但真正决定你用起来顺不顺手的,往往是品牌背后那一套命令体系、固件维护节奏和生态配套。市面上从几十块的傻瓜交换机到几十万的核心框式设备都叫交换机,跨度比大多数人想象的大得多。这篇就把我这些年摸过的十来个热门品牌摆出来,结合千兆交换机、三层交换机、华为交换机VLAN这些高频需求,把选型逻辑、核心配置、监控接入和踩坑记录一次性讲透。刚入行的网络工程师、要自建办公网的中小企业IT、以及有点基础想系统梳理一遍的爱好者,都能从里面挑到能直接用的东西。
1. 先把需求想清楚:交换机选型的三条硬线
我见过太多人一上来就比品牌,结果买回来发现根本用不上,或者关键功能缺一块。选型这件事,先定类型,再定速率,最后才轮到品牌。
1.1 傻瓜、二层网管、三层:选错类型比选错品牌更致命
傻瓜交换机就是插上就用,没有管理界面,没有VLAN,没有命令行,芯片里跑的就是一张MAC地址表加转发逻辑。它便宜、安静、零维护,家里接几台设备、小办公室当个端口扩展器完全够。缺点也很直白:一个口插错了形成环路,整台设备的广播就炸了;没法做隔离,谁都能看到谁的广播包;出问题了只能靠拔线试。
二层网管交换机多了VLAN、链路聚合、STP、端口安全、SNMP这些能力,价格通常从几百到两三千。它的典型定位是接入层——把不同部门、不同业务划到不同VLAN里,广播域隔开,再通过一条trunk上行到核心。绝大多数中小企业的办公网,二层网管交换机加一台三层核心就够用了。
三层交换机在二层能力之上加了路由功能,能配VLANIF(H3C叫VLAN-interface,锐捷叫SVI),直接在设备内部完成不同网段的三层转发。它和路由器的差别不是"能不能路由",而是"怎么路由":三层交换机用ASIC转发,接口密度高、转发延迟低,适合内网东西向流量;路由器接口类型丰富(串口、光口、拨号),更擅长南北向出口和NAT、策略路由这类活。所以"不同网段通信需要三层交换机吗"这个问题的答案是:需要一个三层设备,可以是三层交换机,也可以是路由器做单臂路由。如果只是同一个VLAN内部互访,二层设备就够了。
1.2 端口速率与形态怎么定
千兆是目前接入层的绝对主流,百兆设备除了存量替换基本不建议再买。判断标准很简单:桌面办公PC、打印机、IP电话用千兆接入;无线AP、摄像头、服务器上联考虑2.5G或万兆;核心到汇聚的链路通常是万兆起。别为了省几百块在上联口用千兆,后面做链路聚合和带宽扩容时会很被动。
按形态分,盒式交换机固定端口,适合接入和中小汇聚;框式交换机插板卡,槽位多、双主控、双电源,适合大型园区核心;数据中心现在普遍走Spine-Leaf的分布式架构,每一台接入交换机都直连到所有骨干交换机,层级压平,流量路径固定,配合分布式网关(每台Leaf都当网关)能减少跨设备绕行。这种架构在选型时看的是时延、缓存和ECN/PFC能力,跟办公网的选型逻辑完全是两套。
1.3 品牌之外,真正决定体验的四个指标
第一个是背板带宽和包转发率。很多标称"全千兆"的设备实际是24口千兆加2个上行口,背板带宽只有16Gbps,理论上24口满线速需要48Gbps双向,这种设备在满负荷时会丢包。看参数时用"端口数 × 速率 × 2"估个下限,低于这个值的直接跳过。
第二个是MAC地址表深度和ARP表容量。接入交换机8K够用,核心交换机要16K以上,否则大型网络里会出现MAC表溢出导致泛洪。
第三个是交换芯片的方案。主流商用芯片转发稳定,成本可控;部分低端设备用的是SoC集成方案,功能裁剪明显,比如ACL条数很少、不支持IPv6、QoS只支持端口级。这个参数官网通常不写,只能靠拆机图、评测或者实测去判断。
第四个是固件维护节奏。这一点最容易被忽略,却是长期使用体验的分水岭。一个还在持续出补丁、支持页面上能查到详细配置手册的品牌,和三年不更新的品牌,用起来完全是两回事。买之前先上官网支持中心搜一下型号,看看最后版本的发布时间。
提示:选型时把"三年后还能不能拿到固件和手册"写进评估表,比对比端口数更值钱。
2. 10个热门交换机品牌逐个拆解
品牌这件事没有绝对的好坏,只有适配场景。下面这十个是我在实际项目和运维里接触最多、也最常被问到的,按国内使用频次大致排。
2.1 华为:政企园区与三层场景的主力
华为在企业网和行业项目里的存量非常大,S1700/S2700/S5700/S6700这一串型号几乎覆盖了从接入到核心的全部档位。它的优势在于命令体系统一、文档齐全、三层功能扎实,VLAN、VLANIF、链路聚合、堆叠、VRRP这些能力在S5700以上都是标配,S5720、S5730这类千兆接入机型在中小项目里出镜率极高。
华为命令的一个特点是"所见即所得",system-view进配置模式,display系列命令查状态,save保存。查MAC地址表用display mac-address,想过滤关键字就配合include,比如display current-configuration | include vlan只打印含vlan的行,排查配置冲突时非常省事。查接口状态常用display interface brief,或者display interface brief | include up只看UP的口。
华为的三层交换机做部门间互访特别顺手,一台S5730上创建五个VLAN,再建五个VLANIF配上网关地址,内部路由自动生成,不用额外配静态路由。这也是为什么"华为交换机配置实例"这类问题里,五个部门划分五个子网的案例经久不衰。
2.2 H3C:命令风格接近的另一极
H3C(新华三)的Comware系统和华为VRP在思路上很像,很多工程师在两边切换时只需要改几个关键字。差异点我列一下,避免踩坑:华为的虚拟接口叫Vlanif,H3C叫VLAN-interface;华为的聚合口是Eth-Trunk,H3C是Bridge-Aggregation;H3C的access口配port access vlan 10,trunk口配port trunk permit vlan 10 20;保存命令H3C要写save force才不弹确认。
H3C的高端框式产品线在大型园区和行业专网里很常见,配置量大、板卡种类多。它的用户权限体系是user-role分级,配合三权分立的账号设计(管理、配置、审计分离)落地比较自然——审计账号只给只读角色,配置账号限制到具体命令集,管理员管账号本身。这个设计在需要权限隔离的项目里很吃香。
H3C有个很典型的运维场景是忘记Console密码,通用做法是设备重启时按中断键进入BootWare菜单,选择跳过当前配置启动,进去之后再把认证方式改掉,最后恢复配置启动。具体的中断键和菜单项在不同版本上略有差别,操作前一定要把手册下下来对着做,别凭记忆瞎按。
2.3 锐捷:教育、医疗、酒店场景的常客
锐捷在校园网、医院、酒店这类场景里份额很稳,尤其是宿舍楼的接入和无线配套。它的命令风格介于华为和思科之间,看惯了思科的人上手很快:enable进特权模式,configure terminal进配置,show running-config看配置,write或者copy running-config startup-config保存。VLAN配置是vlan 10然后interface GigabitEthernet 0/1下switchport mode access和switchport access vlan 10。
常见命令再加上几个:show vlan看VLAN列表,show interfaces status看接口状态,show mac-address-table看MAC表,show version看版本和序列号。锐捷的用户体验做得比较细,Web管理界面比同价位的很多品牌好用,对没有命令行基础的运维人员很友好。
2.4 中兴:运营商与行业市场的老牌
中兴(ZXR10系列)在运营商和能源、交通等行业市场有长期积累,R10 5252这类盒式三层设备在项目里能见到。它的命令体系自成一套,ACL配置这块跟华为、H3C都不完全一样,通常是先创建ACL,再定义rule匹配源目地址和端口,最后在接口或全局用ip access-group引用。
这里必须提醒一句:写ACL之前先用show running-config和show acl把现有配置摸清楚,确认清楚默认动作是permit还是deny。不同平台、不同版本的默认行为可能不一致,一条隐式拒绝就可能把管理通道自己给断了。稳妥的做法是在ACL最后显式写一条放行管理网段的规则,给自己留条路。
密码策略方面,中兴设备支持密码有效期设置,比如配置成90天强制更换。这个功能在合规项目里是加分项,但一定要配合改密流程规划,否则一批设备同时到期,运维窗口那天你会非常痛苦。
2.5 思科:存量网络与外企场景
思科在国内的增量不算大,但存量极多,尤其是运营了十年以上的园区网和外企环境。IOS的命令逻辑是所有网络工程师的"普通话",理解了思科,看其他品牌基本都能猜个八九不离十。它的show命令体系、debug机制、MIB支持都比较成熟。
选思科要考虑的是供货周期和授权成本,很多高级功能需要对应的License。如果只是维护存量设备,务必把IOS版本和EOL时间点记下来,提前规划替换,别等到设备停产再抓瞎。
2.6 TP-LINK商用系列:中小项目的性价比选项
TP-LINK的家用产品线大家很熟,它的商用系列(TL-SG系列、TL-SL系列)在中小办公场景里其实很实用。千兆接入、简单VLAN、Web管理,价格友好,适合几十人的办公室、连锁门店。缺点是三层能力和高级特性相对有限,做堆叠、做复杂ACL就比较勉强。
家用路由器接商用交换机时有个经典坑:路由器的LAN口和交换机之间反复协商,最后只跑出10兆。排除了线材问题的话,基本是协商异常,两端手动固定速率双工,或者关掉网卡的节能以太网功能就能解决。
2.7 水星、迅捷:纯家用与微型办公
这两个品牌和TP-LINK同源,定位更低一档,主打五口、八口、十六口的千兆傻瓜交换机。给家里做端口扩展、给小工作室接几台电脑和打印机,完全够用,几十到一两百块。指望它做VLAN隔离或者端口镜像就不现实了,认清定位就行。
2.8 网件、合勤、Ubiquiti:小众但好用的几类
网件(NETGEAR)的商用系列在海外和中小企业里口碑不错,Web管理直观;合勤(Zyxel)在部分行业项目里有稳定用户;Ubiquiti的UniFi系列则是"全家桶"思路,交换机、AP、网关统一在一个控制器里管理,界面清爽,做小型连锁和多点门店特别顺手。缺点是要接受它的生态绑定,混搭其他品牌时体验会打折。
2.9 迈普、艾泰、爱快:特定场景的补充选项
迈普在部分行业市场有存量,艾泰和爱快(iKuai)更偏路由和上网行为管理,交换机产品线是配套。这类品牌的价值在于整体方案打包,比如做多WAN接入加流控加端口隔离的小型网络,一套买齐省事。单看交换机本身的硬件规格,性价比一般。
2.10 十个品牌横向对照
| 品牌 | 典型定位 | 命令风格 | 三层能力 | 适合场景 |
|---|---|---|---|---|
| 华为 | 接入到核心全覆盖 | VRP,display体系 | 强 | 政企园区、行业项目 |
| H3C | 接入到核心全覆盖 | Comware,接近华为 | 强 | 大型园区、权限隔离要求高 |
| 锐捷 | 接入与无线配套 | 接近思科 | 中到强 | 学校、医院、酒店 |
| 中兴 | 行业与运营商 | 自有体系 | 强 | 能源、交通、专网 |
| 思科 | 存量与外企 | IOS | 强 | 存量维护、跨境协作网络 |
| TP-LINK商用 | 中小办公 | Web为主 | 弱到中 | 门店、小型办公室 |
| 水星/迅捷 | 家用 | 无命令行 | 无 | 家庭、微型工作室 |
| 网件 | 中小企业 | Web加简易CLI | 中 | 海外风格办公网 |
| 合勤 | 行业补充 | Web加CLI | 中 | 特定行业项目 |
| Ubiquiti | 连锁与门店 | 控制器统一管理 | 中 | 多点统一运维 |
注意:同一品牌内部不同系列差异极大,别拿家用线的体验去评判商用线,也别拿接入机的规格去要求核心机。
3. 核心配置实操:从开箱到VLAN互通
理论讲完,下面全是能直接抄的部分。我按实际施工顺序来。
3.1 Console连不上?先解决物理层和终端软件
新设备开箱第一次配置,基本都得走Console。工具是一条USB转RJ45的Console线,常见芯片有CH340、PL2303、FTDI几种,装完驱动在设备管理器里能看到对应的COM口。终端软件用MobaXterm、SecureCRT、PuTTY都行。
MobaXterm的连接方式:新建Session选Serial,选中对应的COM口,参数设成波特率9600、数据位8、停止位1、校验None、流控None。华为、H3C、锐捷、中兴的默认Console参数基本都是这个组合,少数设备是115200,连上没回显就换一下。
如果完全没输出,按顺序排查:驱动是否装好、COM口是否被别的软件占用、Console线的针脚是否完好、设备是否真的上电完成(框式设备启动要几分钟)。有些设备在启动阶段会打印大量日志,看到一堆字符不要慌,等它跑完敲回车就有提示符了。
3.2 改密码与开放SSH本地登录(华为S5720实例)
这是被问得最多的一类问题。Console进去之后,先看当前用户,再改密码。
<Huawei> system-view [Huawei] sysname SW-Core [SW-Core] aaa [SW-Core-aaa] local-user netadmin password irreversible-cipher YourPass@2024 [SW-Core-aaa] local-user netadmin privilege level 15 [SW-Core-aaa] local-user netadmin service-type ssh terminal [SW-Core-aaa] quit这段的意思是:建一个叫netadmin的本地用户,密码用不可逆加密保存(配置文件里看不到明文),权限给到最高级15,允许它通过SSH和Console登录。接着放开VTY线路和SSH服务:
[SW-Core] rsa local-key-pair create [SW-Core] stelnet server enable [SW-Core] ssh user netadmin authentication-type password [SW-Core] ssh user netadmin service-type stelnet [SW-Core] user-interface vty 0 4 [SW-Core-ui-vty0-4] authentication-mode aaa [SW-Core-ui-vty0-4] protocol inbound ssh [SW-Core-ui-vty0-4] quit [SW-Core] save顺序很重要:先建密钥再开服务,先建用户再改VTY认证方式。反过来的话,VTY改成aaa认证但用户还没建好,你会被自己的设备踢出来,只能再跑一趟现场。这个坑我踩过一次,之后再也不敢颠倒顺序。
顺带说一句shell request failed on channel 0这个报错,SSH能连上但进不去命令行。原因基本就三个:用户的service-type没带ssh、vty下protocol inbound限制了协议、或者在线会话数超了最大VTY数。按上面的配置逐条核对,再display users看一眼占用情况,基本都能解决。
想取消Console的密码认证,华为是在user-interface console 0下undo authentication-mode,H3C是在user-interface aux 0下操作。做这一步之前务必确认SSH通道已经通,不然改完就只能带着笔记本和Console线回现场。
3.3 五个部门五个子网:VLAN与三层互通的完整实例
这个案例太典型了,直接上规划。A部门100台主机,B部门50台,C部门20台,另外两个小部门各10台左右。
先算地址。按主机数凑2的幂次:100台需要7位主机位,/25给126个可用地址;50台需要6位,/26给62个;20台需要5位,/27给30个。纯粹从数学上算够用,但工程上我不建议卡得这么紧——打印机、IP电话、访客、临时的测试机都会来分地址,留一倍冗余最舒服。所以我实际做法是每个部门给一个/24,VLAN和网段一一对应:
| 部门 | VLAN | 网段 | 网关 |
|---|---|---|---|
| A | 10 | 192.168.10.0/24 | 192.168.10.1 |
| B | 20 | 192.168.20.0/24 | 192.168.20.1 |
| C | 30 | 192.168.30.0/24 | 192.168.30.1 |
| D | 40 | 192.168.40.0/24 | 192.168.40.1 |
| E | 50 | 192.168.50.0/24 | 192.168.50.1 |
华为侧的完整配置:
[SW-Core] vlan batch 10 20 30 40 50 [SW-Core] interface GigabitEthernet0/0/1 [SW-Core-GigabitEthernet0/0/1] port link-type access [SW-Core-GigabitEthernet0/0/1] port default vlan 10 [SW-Core-GigabitEthernet0/0/1] quit [SW-Core] interface Vlanif10 [SW-Core-Vlanif10] ip address 192.168.10.1 255.255.255.0 [SW-Core-Vlanif10] quitVLAN 20到50照此类推。上行到汇聚或路由器的口配成trunk:
[SW-Core] interface GigabitEthernet0/0/24 [SW-Core-GigabitEthernet0/0/24] port link-type trunk [SW-Core-GigabitEthernet0/0/24] port trunk allow-pass vlan 10 20 30 40 50配完之后,五个VLANIF在同一台三层交换机上,直连路由自动生成,部门间天然互通,不需要写任何静态路由。这就是单台三层交换机做部门隔离加互访的最小闭环,也是"单机交换机实验"最经典的练手题。
H3C的对应写法:vlan 10创建,接口下port link-type access加port access vlan 10,虚拟接口用interface Vlan-interface10,掩码可以写ip address 192.168.10.1 24。锐捷则是switchport mode access加switchport access vlan 10,虚拟接口是interface Vlan 10。保存命令各不相同,华为save,H3Csave force,锐捷write。
如果跨设备,比如接入层交换机做VLAN,核心做网关,那接入和核心之间必须走trunk放通所有VLAN,并且在核心上确认VLANIF状态是UP。很多"VLAN配了但ping不通"的问题,最后都栽在trunk没放通某个VLAN上。用display vlan看每个VLAN的成员端口,一查就清楚。
3.4 端口模式与链路聚合:access、trunk、hybrid怎么选
端口模式这块,华为和H3C有三种:access只属于一个VLAN,接终端;trunk可以带标签通过多个VLAN,接交换机或AP;hybrid最灵活,可以按VLAN单独指定出方向是否带标签。思科只有access和trunk两种。如果把QinQ隧道模式也算上,就是第四种扩展形态,用在运营商多租户场景。
选择逻辑很简单:接PC、打印机、IP电话用access;接交换机、无线AP、虚拟化主机用trunk,并且显式放通需要的VLAN,不要图省事放通全部。多放通一个VLAN,就多一份广播泄漏的风险。
链路聚合在两个交换机之间用得多。华为:
[SW-Core] interface Eth-Trunk 1 [SW-Core-Eth-Trunk1] mode lacp-static [SW-Core-Eth-Trunk1] port link-type trunk [SW-Core-Eth-Trunk1] port trunk allow-pass vlan 10 20 30 [SW-Core-Eth-Trunk1] quit [SW-Core] interface GigabitEthernet0/0/23 [SW-Core-GigabitEthernet0/0/23] eth-trunk 1 [SW-Core-GigabitEthernet0/0/23] quitH3C是interface Bridge-Aggregation 1加link-aggregation mode dynamic,成员口写port link-aggregation group 1。聚合生效后,用display eth-trunk 1看成员口状态,两个口都应该是Selected。如果一个Selected一个Unselected,八成是两端配置模式不一致,一边静态一边动态,或者成员口的属性(速率、双工、VLAN)不一样。
3.5 核心交换机的堆叠与高可用思路
核心层单独一台设备是单点故障。预算允许就上双机堆叠,华为叫iStack,H3C叫IRF,锐捷叫VSU。堆叠之后两台设备逻辑上是一台,管理IP一个,跨设备的链路聚合可以做,一台挂了另一台接管。
堆叠必须配MAD检测,否则脑裂的时候两台都以为自己是主,IP冲突、MAC震荡全来了。MAD可以用直连的检测链路,也可以通过上游设备做代理检测。
网关冗余用VRRP。两台核心各跑一个VRRP组,主备切换时间通常在秒级。要在接口上开BFD联动,不然等VRRP自己的心跳超时要三秒以上,业务会有感知。
4. 安全与防环:端口安全、ACL、IP-MAC绑定、STP
接入层的安全问题,八成来自"谁都能插一根线进来"和"环路没人管"这两件事。
4.1 端口安全与IP-MAC绑定
端口安全限制一个口能学多少个MAC,超了就报警或者直接关端口。华为:
[SW-Core] interface GigabitEthernet0/0/2 [SW-Core-GigabitEthernet0/0/2] port-security enable [SW-Core-GigabitEthernet0/0/2] port-security max-mac-num 2 [SW-Core-GigabitEthernet0/0/2] port-security protect-action restrict接办公位的口限制成2个MAC(PC加IP电话正好),接会议室的限制成5个,谁私自接个小交换机立马暴露。
IP-MAC绑定分两种做法。轻量的是在交换机上配静态ARP,把IP和MAC锁死;严格的是开IPSG(IP Source Guard),在端口上校验报文的源IP和源MAC是否和绑定表一致,不一致直接丢。华为的端口侧配置是ip verify source ip-address mac-address,配合DHCP Snooping或者手工的静态绑定表。H3C同样支持ip verify source ip-address mac-address。
这里有个细节:IPSG和DHCP绑定要一起用,不然员工换个IP就上不了网,投诉电话能打爆。做法是把DHCP Snooping的绑定表作为源,动态生成绑定条目,再对固定的服务器、打印机做静态绑定。
4.2 ACL隔离与三权账号体系
ACL最常见的用途是隔离——比如访客VLAN只能访问互联网出口,不能访问内网服务器区。写ACL有个铁律:先想清楚默认动作,再写拒绝规则,最后显式放行管理网段。
以端口ACL为例,思路是创建一个高级ACL,规则匹配源网段和目的网段,然后在接口上用traffic-filter inbound acl 3000(华为)或者ip access-group(其他品牌)引用。顺序上,ACL是按序号从小到大匹配,匹配到就停,所以拒绝规则一定要写在放行之前,否则永远不生效。
三权账号体系在很多项目里是硬要求:系统管理员管设备本身和账号,配置管理员改业务配置,审计员只读日志和配置。落地方式是给三类账号配不同的权限等级和命令集。华为的权限等级是0到15,但要做到精细授权得配合命令集(command-privilege);H3C用user-role可以直接绑定预定义角色,配起来更省事。
注意:做权限收窄之前,一定留一个最高权限账号放在带外管理通道上,别把自己锁在门外。
4.3 STP BPDU保护与loopback-detection的代价
STP是二层防环的基础,接入层一般配RSTP或者MSTP,核心上指定根桥。但光有STP不够,还得防"用户侧乱插"。
BPDU保护的作用是:配置成边缘端口的接口如果收到BPDU,说明下面接了台交换机(或者有人接了家用路由器),直接把端口shutdown。华为全局开stp bpdu-protection,接口上配stp edged-port。这样接入层形成环路的风险就基本堵住了。
根保护是另一个:在上行口配stp root-protection,防止下游设备抢根桥,导致生成树拓扑被顶掉。
loopback-detection(环路检测)这个功能要慎重。它的原理是周期性往端口发探测帧,如果帧从同一个口回来,就判定有环路,然后按配置的动作处理——只告警或者直接关端口。
很多人在所有端口上都开这个功能,结果发现问题:日志刷屏、CPU占用升高、有些场景下误判导致正常端口被关。原因是探测帧有开销,端口越多、VLAN越多,开销越大;而且单向链路、某些网卡的回环行为都可能触发误判。
我的建议是只在接入端口开,上行口都关掉,并且用VLAN级的方式限制检测范围,控制动作选shutdown只在关键区域用,其他地方先用trap观察一段时间,摸清网络里到底有没有环路再收紧。一上来就全端口shutdown,第二天早上你会接到一堆"网断了"的电话。
5. 把交换机纳入监控与可观测体系
设备装完不是终点,看不见的网才是最大的风险。而交换机本身是最容易被忽略的监控对象。
5.1 SNMP + Prometheus 的最小可用方案
交换机全系支持SNMP,这是接入监控体系最省事的通道。v2c用团体名,v3用用户名加认证加密,新项目建议直接上v3。
Prometheus侧用snmp_exporter。先写generator.yml,声明要采集的OID:
auths: office_v3: version: 3 username: monitor security_level: authPriv password: YourAuthPass priv_protocol: AES priv_password: YourPrivPass modules: if_mib: walk: - 1.3.6.1.2.1.2 - 1.3.6.1.2.1.31 lookups: - source_indexes: [ifIndex] lookup: ifAlias - source_indexes: [ifIndex] lookup: ifDescr生成配置文件之后启动snmp_exporter,Prometheus里的抓取任务这么写:
scrape_configs: - job_name: 'switch_snmp' metrics_path: /snmp params: module: [if_mib] static_configs: - targets: - 192.168.10.2 - 192.168.10.3 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: 127.0.0.1:9116这里有个必须注意的点:流量计数器一定要用ifHCInOctets和ifHCOutOctets这两个64位OID,不要用32位的ifInOctets。千兆口跑满的时候32位计数器几秒钟就回绕一次,算出来的速率不是偏小就是直接变成奇怪的数字,排查半天以为网卡有问题。
交换机侧对应要开的配置是SNMP v3用户、团体名(如果用v2c)和trap目标。接口描述(ifAlias)一定要写清楚,比如description To-Building-A-Floor-3,因为后面Grafana面板的图例全是靠这个字段区分的,不写就只能看着一堆GigabitEthernet0/0/7发呆。
5.2 PRTG/拓扑图:让接口别名替你说话
如果用的是PRTG这类带拓扑的监控工具,核心也是SNMP加ifAlias。添加传感器时选SNMP Traffic,设备识别出来之后每个接口一条曲线;拓扑视图要靠LLDP邻居信息把设备之间的连线画出来。
想让拓扑图好看又好读,三件事必须做:所有互联口的description写清对端设备名和端口,所有设备配好LLDP,所有设备的主机名和监控系统里的名称一致。这三件事做完,任何一个人接手都能一眼看出哪条线连着哪台设备。
接口的流量和速率要做到拓扑图上,还要确认设备的SNMP视图权限没有限制接口表。有些设备默认的只读视图只暴露部分OID,接口表读不出来,表现就是设备在线但一条曲线都没有。
5.3 日志里的关键词:从 adj resolve request 说起
交换机日志是排查问题的第一现场,但要会挑关键字。
adj resolve request这类日志,不同厂商的文本不完全一样,抓adj这个关键字基本能定位到同一类问题:三层转发时邻接表项解析不过来,说白了就是有路由但没有下一跳的MAC。常见原因有四种:下一跳地址不可达(对端设备关机或者链路断了)、ARP被抑制或者老化过快、子网掩码配置不一致导致网关不在同一个网段、VLAN没放通导致二层不通。
排查顺序是先看ARP表有没有那条记录,再看接口状态是不是UP,然后确认两端掩码一致,最后查trunk的VLAN放通列表。这四步走完,八成能找到根因。
其他值得盯的关键词:BPDU相关日志出现说明有人在接入口接了交换机,LACP相关日志说明聚合链路有抖动,loopback说明检测到了环路,CRC或者error说明物理层有问题。把这些关键字接进日志告警,比等用户打电话过来报障要主动得多。
5.4 Hyper-V虚拟交换机与物理网卡桥接的坑
虚拟化环境里,宿主机的网卡和Hyper-V虚拟交换机的配合经常出问题,这里集中说几个。
第一,外部虚拟交换机绑定物理网卡之后,宿主机会自动创建一个名为vEthernet(名称)的虚拟适配器。管理IP要配在这个vEthernet上,物理网卡上不要再留同网段的IP,否则会出现同一网段两个接口互相抢答ARP的情况,网络时通时断。
第二,不要把无线网卡做成外部虚拟交换机,绝大多数无线驱动不支持这种桥接模式,绑上去宿主机会直接断网。
第三,MAC地址池默认只有256个,去掉保留地址实际能用的更少。虚拟机数量多的环境里会出现无法开机或者网络不通,需要在虚拟交换机管理器里把MAC地址池范围调大。
第四,网卡组合(LBFO)和SET(Switch Embedded Teaming)不要混用,Hyper-V较新的版本推荐直接用SET,和虚拟交换机配合更干净。如果网卡支持SR-IOV,还要确认BIOS里的虚拟化相关选项和网卡固件版本,固件太旧的时候开了SR-IOV反而丢包。
第五,VLAN场景下,虚拟交换机上要配置允许通过的VLAN ID,虚拟机网卡上再指定具体的VLAN,只配一头是不生效的。
6. 常见问题速查表与踩坑记录
6.1 速率协商不对,千兆口只跑出10兆
这个现象我遇到过好几次,排查路径基本是固定的。
先看接口状态,华为用display interface GigabitEthernet0/0/1,重点看两行:协商出来的速率双工,以及错误计数。速率显示10M或者100M,而两端都是千兆设备,问题就在物理层或者协商。
最常见的原因是网线只通了4芯。百兆只需要1、2、3、6四芯,千兆要求八芯全通。有些施工队图省事或者水晶头压接不到位,就只有四芯导通,设备自协商之后自动降到百兆甚至更低。换一根确认八芯全通的成品线,问题立刻消失。
第二个原因是水晶头压接不良或者线缆过长、串扰严重。表现是链路能建立但错包多,CRC错误计数持续增长。
第三个原因是网卡或者交换机的节能以太网(EEE)功能和老设备的自协商逻辑打架。解决方式是在两端手动固定1000M全双工,或者把节能功能关掉。
排查时把这三条按顺序过一遍,别一上来就怀疑设备坏了。真怀疑设备的话,换一个口试,比换整台机器快。
6.2 固件升级与备份的注意事项
升级这件事,做对了没感觉,做错了就是整夜加班。
升级前的动作:从官网支持中心核对型号和版本,确认BootROM和系统软件的配套关系;把当前配置display current-configuration完整导出存成文本,同时在设备上save一次;用dir看Flash剩余空间,空间不够要先删旧文件但不能删当前运行的文件;准备好TFTP或者FTP服务器,或者USB介质。
升级过程中的动作:不要断电,框式设备要先升备用主控再升主主控;注意观察启动日志,异常时能及时中止。
升级后的动作:确认版本号,逐项验证VLAN、聚合、路由、ACL是否正常,尤其注意大版本升级之后有些命令默认值会变。保留旧版本文件一段时间,方便回退。
提示:不要为了用新功能去跨大版本跳跃升级,跨越多个大版本的路径通常官网会给出升级路线图,按图走。
6.3 高频问题速查表
| 现象 | 常见原因 | 处理方式 |
|---|---|---|
| Console无输出 | 驱动未装、COM口占用、波特率不对 | 查设备管理器,确认9600-8-N-1 |
| SSH能连进不了命令行 | 用户service-type缺ssh、VTY限制协议 | 补service-type,检查protocol inbound |
| VLAN配了但不通 | trunk未放通该VLAN、VLANIF状态DOWN | display vlan核对成员口 |
| 跨网段ping不通 | 缺少三层设备、网关配错、掩码不一致 | 确认VLANIF地址与终端网关 |
| 链路聚合只有一个口选中 | 两端聚合模式不一致、成员口属性不同 | 统一为LACP动态或静态 |
| 所有端口开环路检测后日志爆炸 | 探测帧开销大、误判 | 仅接入口开启,动作先设trap |
| 千兆口只跑10兆 | 网线只通4芯、压接不良、EEE协商异常 | 换线、手动固定速率双工 |
| 监控看不到接口流量 | SNMP视图受限、用了32位计数器 | 放开OID视图,改用ifHCInOctets |
| 虚拟化宿主机网络时断时续 | 物理网卡和vEthernet配了同网段IP | 管理IP只配在vEthernet上 |
6.4 几个只有踩过才知道的细节
堆叠线不要和业务线混插在同一组接口上,有些型号的堆叠口和业务口复用,插错了整组端口都会异常。
保存配置这件事要养成肌肉记忆。改完不save,重启就回到解放前,我在机房里返工过不止一次。华为的save、H3C的save force、锐捷的write,写好贴在便签上都不为过。
设备命名和接口描述花的十分钟,会在三年后的排障里替你省下好几个小时。我现在接手任何一台设备,第一件事就是display interface description看一眼,描述规范的项目,排障速度至少快一倍。
关于品牌这件事,我自己的做法是:核心层用服务体系和文档都完善的品牌,接入层可以按预算放宽,家用和微型办公就别折腾管理型设备。同一张网里混用品牌不是不行,但要把标准协议对齐——VLAN、LACP、STP、LLDP这些走国际标准的功能互通没问题,各家的私有堆叠协议就别指望跨品牌了。
如果后续还想在这个方向上继续深入,我建议从两条线扩展:一条是往自动化走,用Netmiko或者Ansible把重复的批量配置模板化,尤其是几十台接入交换机的场景;另一条是往可观测走,把SNMP采集的接口数据做成容量趋势看板,提前预判哪些上联口快到瓶颈了。这两条线做下来,网络运维这件事会从救火变成规划。