员工私接了一台路由器,第二天全公司上不了网



一、开场:为了手机 WiFi,他把全公司“搞断网”了

那天早上,公司陆续有人喊“上不了网”,而且不是一两个,是一整片工位。我让人把电脑的地址发我一看,好家伙,拿到的网关不是公司的 192.168.10.254,而是一个陌生的 192.168.0.1。

顺着交换机的 MAC 表查,发现这个地址来自工位上一台新出现的家用小路由器。一打听,昨天有个员工嫌自己手机连公司 WiFi 麻烦,偷偷把一台家用路由器插到了墙上的网口,还开着它自己的 DHCP。

这台路由器一上电,就开始给周围的电脑“发地址、发网关”,谁先抢到它的地址,就被它带着走——而它的出口根本没正确连公司网,于是这些人全断了。

拔了那台路由器、让大家重新获取地址,网络才恢复。

接入层就是这样,设备多、人多、手杂,你永远不知道下一个往网口上插什么。光靠“大家自觉”不靠谱,得在交换机上把保护配齐。这一课讲四件事:私接为什么危险、端口安全怎么锁、风暴抑制和环路检测怎么配,以及二层故障那套“五步法”。


二、私接为什么危险:它抢网关、抢 DHCP

1. 类比:有人在小区门口乱发指路条

  • 一个小区本来只有一个大门、一个门卫指路;
  • 现在有人在门口自己摆摊、乱发“门牌”和“指路条”,还说“跟我走”;
  • 住户拿到错误的指路条,全被带进了死胡同。

2. 私接路由器干的几件坏事

图1:私接路由器私发 DHCP、乱发网关,电脑拿到错误地址,整段网络上不了网

  • 私发 DHCP:和公司的 DHCP 抢着发地址,电脑可能拿到错误网段、错误网关;
  • 抢网关:它自己当网关,把流量引到自己身上,再做 NAT,访问时通时不通;
  • 接错口还可能形成环路:一根线两头插,直接广播风暴;
  • 这类问题的共性是:一台来路不明的设备,混进了本该“干净”的接入层。

怎么在交换机上把这台设备揪出来?

现场我一般这么查:

  1. 先在一台中招电脑上看它拿到的网关地址和 MAC(ipconfig /all);
  2. 到接入交换机上查这个 MAC 是从哪个口学到的:display mac-address;
  3. 这个 MAC 对应的物理口,就是私接设备所在的位置(或它的上联口);
  4. 如果下面还挂了小交换机、一个口查不准,就逐级往下找,直到定位到具体面板;
  5. 找到后拔掉设备,再让中招电脑重新获取地址。

关键是别在整网里瞎找,一个 MAC 地址、一条查表命令,几分钟就能把设备定位到具体端口。


三、接入交换机三道保护

图2:接入交换机上的端口安全、风暴抑制、环路检测,把私接和环路挡在门外

1. 端口安全:锁死“这个口能有几个 MAC”

  • 类比:门禁登记,一个房间只允许规定数量的人进,多了就报警;
  • 端口安全(Port Security)可以限制一个端口最多学习到几个 MAC,还能把指定 MAC 静态绑定;
  • 超过限制、或出现未登记的 MAC,就按“违规动作”处理。

2. 风暴抑制:给广播“限流”

  • 类比:水龙头限流,水太大就自动关小,别让它漫出来;
  • 风暴抑制对广播、组播、未知单播分别设阈值,超过就丢,防止广播风暴把带宽占满;
  • 它是“兜底”,即使环路真发生了,也能把风暴压在一定范围内。

3. 环路检测:发现“自己绕回来”就报警

  • 类比:对着镜子喊,发现自己的声音绕回来了,就知道有环;
  • 环路检测(Loopback Detection)周期性发检测帧,如果这个帧从发出去的口又绕回来,说明端口下有环,随即按配置关闭或告警;
  • 它能发现 STP 管不到的“下游小交换机自环”。

还有一招专门防私接 DHCP:DHCP Snooping。

前面说的私接路由器,核心危害是它“乱发 DHCP”。DHCP Snooping 把端口分成“可信口”和“不可信口”:

  • 上联、接公司 DHCP 服务器的口设为可信,允许发 DHCP 应答;
  • 接员工终端的口设为不可信,只允许发 DHCP 请求、不允许发应答;
  • 这样即使有人私接了路由器,它发出的 DHCP 应答在端口上就被直接丢弃,根本害不到别人。

它和端口安全、风暴抑制、环路检测一起,构成接入层的完整防护。


四、命令落点(华为 VRP)

1. 端口安全(完整链路)

<SW> system-view
[SW] interface GigabitEthernet 0/0/10
[SW-GigabitEthernet0/0/10] port-security enable
[SW-GigabitEthernet0/0/10] port-security max-mac-num 2
[SW-GigabitEthernet0/0/10] port-security protect-action restrict
[SW-GigabitEthernet0/0/10] quit
[SW] return
<SW> save

protect-action 三种:protect(丢弃多余的,不告警)、restrict(丢弃并告警、记日志)、shutdown(直接关端口)。办公口一般用 restrict,既挡住又留痕。

三种违规动作的区别再明确一下:

  • protect:超过限制的 MAC 直接丢弃,不记日志、不告警,悄悄处理,排查时不容易发现;
  • restrict:丢弃的同时记日志、发告警,你能知道“这个口有人想多接设备”,办公口最常用;
  • shutdown:一旦违规直接把端口关闭,最严厉,需要人工恢复,适合要求很严的场景。

我个人偏好 restrict,既挡住了又留了痕迹,现场能第一时间知道哪个口在“搞事情”。

静态绑定用在什么地方?

对位置固定、不允许被替换的设备,比如服务器、网络打印机、门禁控制器,可把它的 MAC 直接绑定到端口:

[SW-GigabitEthernet0/0/10] port-security mac-address 0050-5600-1234

绑定后这个口只认这个 MAC,换设备就不通。好处是确定性强,缺点是换设备要同步改配置,所以只对长期固定的关键设备用,普通办公口用动态限制数量即可。

2. 风暴抑制

[SW] interface GigabitEthernet 0/0/10
[SW-GigabitEthernet0/0/10] storm suppression broadcast 10
[SW-GigabitEthernet0/0/10] storm suppression multicast 10
[SW-GigabitEthernet0/0/10] storm suppression unknown-unicast 10

阈值给的是百分比,即广播/组播/未知单播最多占该端口带宽的 10%。普通办公口设 5%~10% 较常见,太低可能误伤正常广播,可结合实际抓包调整。

阈值怎么定?别一上来设太低。

  • 正常网络里也有广播(ARP 请求、DHCP 等),设成 0 或 1% 很可能把正常业务也误杀;
  • 办公口一般从 5%~10% 起步,先抓包看看正常时广播占比,再在此基础上留余量;
  • 阈值是“安全垫”,目的是风暴来了别把整口带宽占满,而不是追求越小越好;
  • 全网统一一个值方便模板化,个别特殊口(上联、服务器)单独评估。

3. 环路检测

[SW] loopback-detect enable
[SW] interface GigabitEthernet 0/0/10
[SW-GigabitEthernet0/0/10] loopback-detect packet vlan 10
[SW-GigabitEthernet0/0/10] loopback-detect action shutdown

验证:

<SW> display loopback-detect
Loopback-detect is enabled
Interface GigabitEthernet0/0/10:
  Detect VLAN: 10
  Action: Shutdown
  Status: Normal                         # 检测到环会显示 Loopback

4. 二层排查五步法

图3:从看范围、查端口、看 MAC、查 VLAN 接线到定位私接环路,逐层缩小

步骤动作命令判断
1 看范围是一台还是一片问现场一片优先查上游/环路
2 查端口Up 还是 Downdisplay interface brief物理/协商问题
3 看 MAC学到没有display mac-address没学到查接线/对端
4 查 VLAN放行对不对display port vlanVLAN/Trunk 问题
5 查私接环路有没有陌生设备display mac-address、display arp私接/自环

私接与环路排查决策

陌生地址

地址正常

是

否

一片人上不了网

拿到的地址正常吗

私接DHCP设备

查端口和链路

按MAC表找物理口

拔掉设备恢复

灯狂闪吗

环路 查接线

查VLAN和上联

5. 异常与排查

现象命令看到什么判断动作
一片人拿到错误网关看 DHCP/ARP陌生网关私接路由器找到设备拔掉、重获取
某口频繁掉线看端口安全被 restrict/shutdownMAC 超限查是否接小交换机
交换机灯狂闪看 CPU/端口广播占满环路断冗余、查自环
端口被自动关闭看环路检测Loopback下游有环排查下游接线
单台不通看 MAC/端口没学到 MAC线/网卡/口换线换口测试

思科对照

动作华为 VRP思科 IOS
端口安全port-security enableswitchport port-security
最大 MACport-security max-mac-numswitchport port-security maximum
违规动作port-security protect-actionswitchport port-security violation
风暴抑制storm suppressionstorm-control broadcast level
环路检测loopback-detect enableerrdisable detect cause
看 MACdisplay mac-addressshow mac address-table

五、🔧 运维视角 & 📐 设计视角

🔧 运维视角:

  • 一片人拿到陌生地址,先查是不是私接路由器在发 DHCP,顺着 MAC 表揪设备;
  • 端口安全、风暴抑制、环路检测是“三板斧”,接入口统一模板批量下发;
  • 端口被自动关,先别急着开,看是 MAC 超限还是环路,查清再恢复。

📐 设计视角:

  • 接入口出一份标准配置模板(边缘端口 + 端口安全 + 风暴抑制 + 环路检测),所有交换机统一;
  • 明确“一个面板口只允许一个终端”,需要 IP 电话的口单独规划 MAC 数量;
  • 把“禁止私接设备”写进用户入网须知,技术手段 + 管理手段一起上。

给你一份接入保护交付前检查清单:

  • 每个接终端的口:边缘端口、端口安全(最大 MAC 数、违规动作)是否配好;
  • 每个口:风暴抑制的广播/组播/未知单播阈值是否统一;
  • 全局:环路检测是否开启、动作是否符合预期;
  • 接 DHCP 服务器、上联的口:是否设为可信,避免被误拦;
  • 割接前:在测试口制造一次自环、多接一个 MAC,验证保护是否真的生效;
  • 交付文档:把标准端口模板、阈值、可信口清单写清楚,方便后期维护。

别只在配置里“写了”,要在真实口上“测了”,否则保护可能因为一条命令没生效而形同虚设。


六、小结与命令速查表

  • 私接路由器抢 DHCP、抢网关,是接入层最常见的“人祸”;
  • 端口安全限制 MAC 数量、可绑定、可设违规动作;
  • 风暴抑制给广播/组播/未知单播限流,环路检测发现自环;
  • 二层排查五步法:看范围、查端口、看 MAC、查 VLAN、定位私接环路。

本篇命令速查表(华为 VRP):

目的华为命令思科对照
端口安全port-security enableswitchport port-security
最大 MACport-security max-mac-num 2switchport port-security maximum 2
违规动作port-security protect-action restrictswitchport port-security violation restrict
风暴抑制storm suppression broadcast 10storm-control broadcast level 10
环路检测loopback-detect enableerrdisable detect
看环路display loopback-detectshow interfaces status err-disabled
看 MACdisplay mac-addressshow mac address-table

七、思考题 & 评论区接招

💬 互动题(评论区接招):

贴出你的接入交换机配置,我帮你挑安全隐患。
可以把你现在接入交换机上一个端口的配置发出来(注意抹掉敏感信息),我会逐条看:
1)有没有设边缘端口、端口安全?
2)风暴抑制、环路检测配了没?
3)有没有“一个口下面挂了小交换机”的隐患?
我会在评论区给出“该补哪几条”的具体建议。


系列导航:

- 上一课:第 31 课《堆叠与 M-LAG》

我是你们的老网工。交换机篇到这里就收尾了——从第一次登录,到 VLAN、聚合、生成树、堆叠,再到接入保护,二层这摊事基本讲全。接下来进入路由篇,第一件事是把“地址”搞明白:IP 地址、子网掩码、CIDR、VLSM,以及面试必考的“这一段到底有多少可用地址”。下一课《IP 地址与子网》,我用一张速算表,帮你把子网划分彻底算明白。下一课见。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐