<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>端口配置 on Zero Day Notes</title>
        <link>https://blog.5772447.xyz/tags/%E7%AB%AF%E5%8F%A3%E9%85%8D%E7%BD%AE/</link>
        <description>Recent content in 端口配置 on Zero Day Notes</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh</language>
        <lastBuildDate>Wed, 28 Oct 2026 09:00:00 +0800</lastBuildDate><atom:link href="https://blog.5772447.xyz/tags/%E7%AB%AF%E5%8F%A3%E9%85%8D%E7%BD%AE/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>端口安全 max 2：会议室接交换机就断网</title>
            <link>https://blog.5772447.xyz/posts/ba7befe9/</link>
            <pubDate>Wed, 28 Oct 2026 09:00:00 +0800</pubDate>
            <guid>https://blog.5772447.xyz/posts/ba7befe9/</guid>
            <description>&lt;h2 id=&#34;问题背景&#34;&gt;&lt;a href=&#34;#%e9%97%ae%e9%a2%98%e8%83%8c%e6%99%af&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;问题背景&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;办公楼有 200 多个接入端口，统一由一套配置模板下发。办公位的标准拓扑是“IP 话机 + 电脑”：话机接墙口，电脑接话机，所以模板里给每个端口配置了端口安全，最大 MAC 数设为 2，违规动作是 shutdown。这套策略跑了很多年，既能防止有人私接路由器，也限制了广播域里的 MAC 数量。&lt;/p&gt;&#xA;&lt;p&gt;会议室用的是同一套模板。过去会议室里只有一台电视和一台笔记本，两个 MAC 刚好卡在上限内，一直没出问题。上周行政在 4F 会议室加了一套视频会议终端，又为了让笔记本、电视、终端同时联网，在墙口上接了一个 5 口小交换机。当天下午，会议室的有限网络整体断了。&lt;/p&gt;&#xA;&lt;h2 id=&#34;故障现象&#34;&gt;&lt;a href=&#34;#%e6%95%85%e9%9a%9c%e7%8e%b0%e8%b1%a1&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;故障现象&#xD;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;4F 会议室墙口对应的交换机端口指示灯熄灭或呈琥珀色，房间内有线设备全部离线。&lt;/li&gt;&#xA;&lt;li&gt;同楼层其他房间网络正常，Wi-Fi 也正常，只有这一个端口出问题。&lt;/li&gt;&#xA;&lt;li&gt;交换机日志出现 &lt;code&gt;%PORT_SECURITY-2-PSECURE_VIOLATION&lt;/code&gt;，提示端口因端口安全违规被禁用。&lt;/li&gt;&#xA;&lt;li&gt;把多余设备拔掉、只留一台笔记本，端口仍然不恢复；必须重新插拔或登录交换机操作。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;show interfaces status&lt;/code&gt; 里该端口状态是 &lt;code&gt;err-disabled&lt;/code&gt;，不是普通的 down。&lt;/li&gt;&#xA;&lt;li&gt;视频会议终端无法联网，会议只能改用无线，画面频繁卡顿。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;排查过程&#34;&gt;&lt;a href=&#34;#%e6%8e%92%e6%9f%a5%e8%bf%87%e7%a8%8b&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;排查过程&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;第一步定位端口。先查 &lt;code&gt;show interfaces status err-disabled&lt;/code&gt;，列出所有被 err-disable 的端口，4F 会议室的 &lt;code&gt;Gi1/0/23&lt;/code&gt; 在列表里，原因列显示 &lt;code&gt;psecure-violation&lt;/code&gt;。这说明不是网线、光模块或上联问题，而是端口安全策略主动把端口关了。&lt;/p&gt;&#xA;&lt;p&gt;第二步看端口安全状态。执行 &lt;code&gt;show port-security interface Gi1/0/23&lt;/code&gt;，关键字段是：Maximum 2、Current 4、Violation Shutdown、Aging Disabled。也就是说，这个端口最多允许 2 个源 MAC，实际学到了 4 个，超过上限后按配置直接 shutdown。&lt;/p&gt;&#xA;&lt;p&gt;第三步看学到了哪些 MAC。&lt;code&gt;show port-security address&lt;/code&gt; 列出该端口的 4 个 MAC：笔记本、电视、视频会议终端，以及一台 USB-C 扩展坞的网卡。小交换机本身是无管理的，不占 MAC，但它把四台设备的二层流量都汇总到了墙口，端口安全看到的就是 4 个源 MAC。&lt;/p&gt;&#xA;&lt;p&gt;第四步核对配置来源。&lt;code&gt;show running-config interface Gi1/0/23&lt;/code&gt; 显示端口安全参数与办公位完全一致：&lt;code&gt;switchport port-security maximum 2&lt;/code&gt;、&lt;code&gt;violation shutdown&lt;/code&gt;、没有配置 aging。会议室的墙口从来没有单独模板，一直跟着办公位走。&lt;/p&gt;&#xA;&lt;p&gt;第五步解释为什么拔设备不恢复。端口进入 err-disabled 后不会因为链路恢复自动重新启用，需要 &lt;code&gt;shutdown&lt;/code&gt; / &lt;code&gt;no shutdown&lt;/code&gt;，或者开启 errdisable 自动恢复。现场同事只拔了设备，端口仍停在禁用状态，所以看起来“插回去也没用”。&lt;/p&gt;&#xA;&lt;p&gt;第六步复盘触发过程。会议室原来两个设备，刚好 2 个 MAC；加了视频终端和小交换机后变成 4 个，超过 max 2 的瞬间触发 violation，端口被关闭。只要拓扑不变，重新启用后还会再次触发。&lt;/p&gt;&#xA;&lt;h2 id=&#34;解决方案&#34;&gt;&lt;a href=&#34;#%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;解决方案&#xD;&#xA;&lt;/h2&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;先恢复端口&lt;/strong&gt;：在交换机上对该端口执行 &lt;code&gt;shutdown&lt;/code&gt; 再 &lt;code&gt;no shutdown&lt;/code&gt;，端口立即恢复；如果启用了 &lt;code&gt;errdisable recovery cause psecure-violation&lt;/code&gt;，等待自动恢复周期（例如 300 秒）也可以。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;给会议室单独建端口模板&lt;/strong&gt;：最大 MAC 数调到 16，违规动作从 shutdown 改为 restrict（丢弃违规帧并记日志，端口保持 up），并配置 aging time（例如 10 分钟）。这样偶尔接入新设备不会直接把整个房间断网。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;保留办公位模板&lt;/strong&gt;：普通工位仍然维持 max 2、violation shutdown。办公位的拓扑固定，严格策略能有效阻止私接；不要把会议室的宽松策略全局套用。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;按场景划分端口配置&lt;/strong&gt;：至少区分办公位、会议室、打印机区、AP 上联、临时工位五类，每类明确最大 MAC 数、违规动作和 aging。模板按区域下发，不再一刀切。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;补自动恢复与告警&lt;/strong&gt;：全局开启 &lt;code&gt;errdisable recovery&lt;/code&gt; 并设置合理间隔，同时把 &lt;code&gt;PSECURE_VIOLATION&lt;/code&gt; 日志接入监控。自动恢复解决“端口一直死着”，告警解决“恢复了但没人知道为什么”。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;验证&lt;/strong&gt;：恢复后确认四台设备都能上线，&lt;code&gt;show port-security interface&lt;/code&gt; 显示 Current 4、Maximum 16，违规计数不再增长；再模拟拔插一次，确认端口不会再次 shutdown。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;根因分析&#34;&gt;&lt;a href=&#34;#%e6%a0%b9%e5%9b%a0%e5%88%86%e6%9e%90&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;根因分析&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;直接根因是 &lt;strong&gt;会议室墙口沿用了办公位的端口安全模板，最大 MAC 数只有 2；接入小交换机后设备数变成 4，超过上限触发 violation shutdown，端口被 err-disable，整个房间的有线网络中断&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;更深一层，是把端口安全当成了“配了就行”的安全开关，而没有按使用场景设计容量。办公位的 2 个 MAC 是合理的，因为那里永远只有话机和电脑；会议室是共享空间，设备数量天然会变，继续套用同一个上限，等于给正常使用埋了一个硬阈值。再加上 violation 动作选了 shutdown、没有 aging、没有自动恢复，一次普通的设备增加就被放大成整口断网。&lt;/p&gt;&#xA;&lt;p&gt;还有一层是排障信息不对称。端口 err-disabled 在用户侧看起来就是“网口坏了”，现场第一反应是换线、换口；如果不知道去看 &lt;code&gt;show interfaces status err-disabled&lt;/code&gt; 和端口安全计数，很容易在物理层绕圈。&lt;/p&gt;&#xA;&lt;h2 id=&#34;预防措施&#34;&gt;&lt;a href=&#34;#%e9%a2%84%e9%98%b2%e6%8e%aa%e6%96%bd&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;预防措施&#xD;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;端口配置按场景分模板：办公位、会议室、打印区、AP 上联、临时工位分别定义最大 MAC 数、违规动作和 aging，禁止全楼一套参数。&lt;/li&gt;&#xA;&lt;li&gt;会议室和共享区域的 max MAC 数按“峰值设备数 + 余量”设定，并优先使用 restrict 而不是 shutdown，避免单台设备触发整口中断。&lt;/li&gt;&#xA;&lt;li&gt;全局启用 errdisable 自动恢复，同时把端口安全违规、err-disable 次数接入监控告警，做到既自动恢复又可追溯。&lt;/li&gt;&#xA;&lt;li&gt;网络变更管理覆盖“加一个小交换机”这类小动作：会议室增加设备前先确认墙口策略，必要时提前调整模板。&lt;/li&gt;&#xA;&lt;li&gt;定期导出端口安全表，核对各端口学到的 MAC 数与设备清单，发现异常增长及时处理。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;总结&#34;&gt;&lt;a href=&#34;#%e6%80%bb%e7%bb%93&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;总结&#xD;&#xA;&lt;/h2&gt;&lt;p&gt;端口安全的本意是防止 MAC 泛洪和私接，但它同时是一条容量策略：上限设多少，决定了这个端口能容纳多少设备。办公位的 2 个 MAC 是精心设计的边界，搬到会议室就成了事故阈值。真正的问题不是“端口安全太严”，而是把不同场景塞进了同一个模板。按场景设计端口、给共享空间留余量、让违规动作从“关机”变成“限流加告警”，才能既守住安全，又不把正常变更变成断网。&lt;/p&gt;&#xA;&lt;h2 id=&#34;延伸阅读&#34;&gt;&lt;a href=&#34;#%e5%bb%b6%e4%bc%b8%e9%98%85%e8%af%bb&#34; class=&#34;header-anchor&#34;&gt;&lt;/a&gt;延伸阅读&#xD;&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.5772447.xyz/posts/953d9b4c/&#34; &gt;堆叠后边缘端口频繁 errdisable：BPDU Guard 误触发&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.5772447.xyz/posts/9aa5af71/&#34; &gt;storm-control 阈值过低误杀正常广播致整层卡顿&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item></channel>
</rss>
