- Reorder §3.3: create VLAN66/55 before SVI; keep VLAN1 until management path verified - Fix §3.4 verification port wording (enabled VLAN66 access port, e.g. port 6) - Harden VLAN10 phase: PVE boundary, gfw NAT/IPv6 policy, rollback order, verification chain
444 lines
32 KiB
Markdown
444 lines
32 KiB
Markdown
# SE5420 核心交换机升级实践指南(两步实施)
|
||
|
||
**状态:** SE5420 **已采购**,待实施。本文是真实可操作、可验证的升级实践文档;
|
||
取代早期「规划说明」性质文档中的实施细节([lan-erx-se5420-network.md](lan-erx-se5420-network.md)、
|
||
[lan-core-switch-upgrade-plan.md](lan-core-switch-upgrade-plan.md) 保留作拓扑/设计参考)。
|
||
|
||
**硬件:** TP-Link **TL-SE5420**(16× 2.5G RJ45 + 4× 10G SFP+,无 PoE),440×180×44 mm(1U)。
|
||
**架构:** ER-X **保留**为唯一网关(PPPoE/NAT/防火墙/DHCP/双网段三层);SE5420 纯 L2 核心;
|
||
`gfw` 旁路由(OpenClash);后续 VLAN10 升级专用 SSID走 gfw 网关。SE5420 的用户数据平面只做二层;唯一 L3 例外为 LAN66 管理 SVI 与交换机自身默认网关。
|
||
|
||
---
|
||
|
||
## ⚠️ 两步实施总览(2026-08-09 确认)
|
||
|
||
**第一步(本次):只做 55/66 主网。** SE5420 初始化、ER-X 上联、PVE/AP/设备迁移、
|
||
验收稳定。除**禁用不可用的** `ubnt-upg` SSID 外,不修改其 VLAN、网络或 AP 配置;全程不建 VLAN10、不给口 2/3 加 tagged 10、不改 gfw。
|
||
|
||
**第二步(第一步稳定 ≥1 天后,多个独立维护窗):整体做 VLAN10。**
|
||
SE5420 加 VLAN10 + 口 2/3 tagged 10 → gfw 补齐 → UniFi 改 Third-party Gateway → 启用 SSID → 验证。
|
||
|
||
> 分离原则:第一步完成后网络与升级前语义一致(仅同 VLAN 交换变 2.5G)。唯一例外是先禁用不可用的 `ubnt-upg` SSID;第二步才完成 VLAN10 配置并重新启用该 SSID。VLAN10 的 PVE、交换机、gfw 与 UniFi 动作分属多个维护窗,回滚互不牵连。
|
||
|
||
| 步骤 | 范围 | Done 判定 |
|
||
|---|---|---|
|
||
| **第一步** | SE5420 台面配置(66/55) → ER-X 上联 → 迁移 → 稳定 | 第 10 节第一阶段验收项全绿 |
|
||
| **第二步** | VLAN10(SE5420 + gfw + UniFi + SSID) | 第 10 节第二阶段验收项 + 验证链全通 |
|
||
|
||
---
|
||
|
||
## 0. 已验证的现状事实(2026-08-09 只读核实)
|
||
|
||
> 以下事实已通过 SSH/UniFi API 实测确认,直接决定下文步骤:
|
||
|
||
| 项 | 实测结果 |
|
||
|---|---|
|
||
| PVE 物理网卡 | **双网卡**:`enp1s0`→vmbr0(LAN66 .26),`enp2s0`→vmbr1(LAN55 .26) |
|
||
| PVE bridge | `vmbr0` **非 vlan-aware(flat bridge)** → 可在共享 bridge 上透传 tagged 帧给连接的 VM(含 gfw eth0);这不是严格隔离,其他 VM 理论上也可配置 VLAN10 接口 |
|
||
| PVE VM 清单 | 120 `pihole`=**dns/.36**(AdGuard+Mihomo,vmbr0)、140 `gfw`(vmbr0+vmbr1)、160 `ubnt`(vmbr0)、180 `haos`(vmbr1/LAN55)、100 `gateway`(停) |
|
||
| **dns 位置** | **dns(`.36`)是 PVE 上 VM 120,非独立物理机** → 不占 SE5420 口 |
|
||
| **transmission 位置** | **transmission 是 NAS(FreeNAS) 内 jail(`.51`)** → 不占 SE5420 口 |
|
||
| gfw 虚拟网卡 | `net0`→vmbr0(66)、`net1`→vmbr1(55) |
|
||
| gfw 内部 | `eth0.10`=192.168.10.1/24 已配;DHCP(100-250)已配;fw4 `ubunt_upg` 链全建;OpenClash 全局 TPROXY 在 |
|
||
| gfw 缺口 | **无经核验的 `ubunt_upg→wan` 转发和出口 NAT**;zone `forward=REJECT` → VLAN10 现在上不了网(**第二步才补**) |
|
||
| UniFi | `ubnt-upg` 网络(VLAN10, dhcp 关) + `ubnt-upg` SSID 已存在且当前 enabled;未经现场抓包,不假定 VLAN10 tagged 帧会自动去标签进入 LAN66;该 SSID 在缺少完整路径时是不可用入口,应先禁用。网络 purpose=corporate,需改 Third-party Gateway(**第二步才改**) |
|
||
| U6 Lite | `.66.6`,有线上联,接 ER-X eth0(untagged access) |
|
||
| UAP-AC-Lite | `.55.5`,有线上联 |
|
||
| PVE 防火墙 | 无任何自定义规则,未拦 tagged 帧 |
|
||
|
||
---
|
||
|
||
# 第一步:SE5420 + 55/66 主网
|
||
|
||
## 1. 目标拓扑与端口规划(第一步范围)
|
||
|
||
```text
|
||
Internet
|
||
│ PPPoE (pppoe0)
|
||
▼
|
||
┌───────────────────────────────────────────┐
|
||
│ ER-X (gw) eth0=LAN66 .254 switch0=LAN55 .254 │
|
||
└──────┬──────────────────┬─────────────────┘
|
||
│ access VLAN66 │ access VLAN55
|
||
│ │
|
||
▼ ▼
|
||
┌──────────────────────────────────────────────────┐
|
||
│ TL-SE5420 核心(纯 L2,VLAN-aware) │
|
||
│ SFP+ 空槽(未来 10G) │
|
||
└─┬──────┬───────┬──────┬──────┬──────┬───────────┘
|
||
│ │ │ │ │ │
|
||
PVE PVE U6 AC-Lite dns/NAS/PC
|
||
enp1s0 enp2s0 Lite (55) (access 66)
|
||
access access access
|
||
66 55 66
|
||
```
|
||
|
||
### 端口角色表(第一步:全部为 66/55 access;**不含 VLAN10**)
|
||
|
||
SE5420 前面板为 **8 口一排、共两排**(每排 8×RJ45,右侧 4×SFP+)。采用**按 VLAN 分排**:
|
||
**上排(口 1–8)= LAN66**,**下排(口 9–16)= LAN55**。每排首位是该 VLAN 的 ER-X 上联。
|
||
|
||
> 端口编号假定 TP-Link 常规布局(上排 1–8、下排 9–16);**接线前先对照实物面板标注编号**。
|
||
|
||
| SE5420 口 | 对端 | 第一步模式 | PVID | 成员 VLAN |
|
||
|---|---|---|---|---|
|
||
| **上排 1** | ER-X `eth0`(66 上联) | access | 66 | untagged 66 |
|
||
| 2 | PVE `enp1s0`(承载 gfw/dns/ubnt VM) | access | 66 | untagged 66 |
|
||
| 3 | U6 Lite | access | 66 | untagged 66 |
|
||
| 4 | NAS/FreeNAS(第 1 口,含 transmission jail) | access | 66 | untagged 66 |
|
||
| 5 | NAS/FreeNAS 第 2 口(仅后续 LACP 维护窗使用) | **物理断开/禁用** | — | — |
|
||
| 6 | windy-pc(`.99`)**或** hp-nas(`.32`),二选一 | access | 66 | untagged 66 |
|
||
| 7–8 | LAN66 预留 | **administratively down** | — | — |
|
||
| **下排 9** | ER-X `switch0` 成员口(55 上联) | access | 55 | untagged 55 |
|
||
| 10 | PVE `enp2s0`(承载 haos VM) | access | 55 | untagged 55 |
|
||
| 11 | UAP-AC-Lite | access | 55 | untagged 55 |
|
||
| 12 | 隔壁房间上联(IoT 设备) | access | 55 | untagged 55 |
|
||
| 13 | 打印机(未来) | **administratively down** | — | — |
|
||
| 14–16 | LAN55 预留 | **administratively down** | — | — |
|
||
| SFP+ 1–4 | 未来 10G | 空槽 | — | — |
|
||
|
||
> **第二步才变更(本步不动)**:口 2、口 3 从 access 66 改为 **trunk(untagged 66 + tagged 10)**,
|
||
> 并新建 VLAN10。第一步**不要**建 VLAN10、**不要**在任何口上 tagged 10。
|
||
|
||
> **哪些设备不占 SE5420 口(都是 PVE 上的 VM,走 PVE 物理网卡):**
|
||
> - **dns / AdGuard Home / Mihomo(`.36`)** = PVE VM 120 `pihole`(vmbr0)
|
||
> - **ubnt 控制器(`.46`)** = PVE VM 160(vmbr0)
|
||
> - **gfw(`.1`)** = PVE VM 140(vmbr0 + vmbr1)
|
||
> - **haos / Home Assistant(`.55.11`)** = PVE VM 180(vmbr1/LAN55)
|
||
> - **transmission(`.51`)** = NAS(FreeNAS) 内 jail,走 NAS 网口
|
||
|
||
> **第一步关键约束:**
|
||
> - 所有**启用的**业务口为 66/55 access;未使用口 administratively down;**不建 VLAN10**。
|
||
> - **不要**向 ER-X 送任何 VLAN10 tag(本步根本没有 VLAN10)。
|
||
> - NAS 本步只接**一个**网口至口 4;口 5 保持物理断开或 administratively down。LACP 是独立维护窗:先在 TrueNAS 与交换机建立同一 802.3ad LAG,将 VLAN66 配到逻辑 LAG 而非成员口,再插第二根线。LACP 提升多客户端/多连接聚合吞吐,单个 TCP 流通常仍受一条链路限制。
|
||
> - 口 5、7、8、13–16 和未使用 SFP+ 全部 administratively down;未来接入设备时,再显式配置 VLAN 并启用端口。
|
||
> - 禁止同一设备同时接旧路径与新核心(环路)。
|
||
|
||
---
|
||
|
||
## 2. 第一步·阶段 0:开工前检查(一次性)
|
||
|
||
1. SE5420 开箱:核对型号、前面板(模式切换按键 / 指示灯 / **Type-C Console 口** / 16×2.5G RJ45 / 4×SFP+ / 1×USB)。
|
||
2. **固件**:下载最新官方固件并升级(V1.0 平台)。操作:
|
||
- 下载页:TP-LINK 官网 → TL-SE5420 产品页 → **资源下载** tab → **升级软件** 分类。
|
||
- 直达:`https://www.tp-link.com.cn/product_2899.html?v=download`(升级软件区)。
|
||
- 已知版本:**TL-SE5420 V1.0 升级软件 20230908_1.0.0**(2023-09-08 发布,以页面当前列出的为准)。
|
||
- 升级入口:登录 WEB 后 **系统 → 软件升级 → 选择文件 → 升级**(升级期间勿断电)。
|
||
- 注意核对设备底部标签的 **硬件版本 V1.0** 与固件配套;V1.x 别刷 V2 版(若后续出现)。
|
||
- 升级完确认版本号,再进入后续配置。
|
||
3. 准备一条 Type-C 串口线(Console 本地登录)或普通网线(WEB 登录);一台**隔离管理本**(不用接现有 66 网)。
|
||
4. **禁用 `ubnt-upg` SSID**(UniFi 控制台 → WiFi → `ubnt-upg` → 关 enable)。当前没有已验证的 VLAN10 端到端路径;不要把“tagged 帧会自动进入 LAN66”当作事实。记录原设置以便第二步回滚。
|
||
> 这是第一步唯一涉及 VLAN10 的动作,目的是移除不可用入口,而不是处置未经证实的 LAN66 泄漏。
|
||
5. 备份当前 ER-X 配置(过滤敏感行),并给 `hosts/gw.md`、`docs/lan-overview.md` 留改前快照。
|
||
6. **回滚与现场条件**:全程保持 SE5420 Type-C Console 连接;确认可物理接触 ER-X、PVE 和交换机;逐根记录旧端口、目标端口和回插位置。SSH 会话仅用于诊断,移动其物理链路时可能立即断开,**不构成带外回滚路径**。
|
||
7. 记录拟接入 PVE/PC/NAS 的链路能力(例如 `ethtool enp1s0`、`ethtool enp2s0`),并准备 `iperf3` 基线与验收。
|
||
8. 导出全部 WiFi → Network/VLAN → AP group 映射。确认除将被禁用的 `ubnt-upg` 外,U6 Lite 和 UAP-AC-Lite 没有任何需要 tagged VLAN 的 SSID;否则不得把口 3/11 配成严格 access 口。
|
||
|
||
---
|
||
|
||
## 3. 第一步·阶段 1:离线初始化 SE5420(台面,不接生产)
|
||
|
||
> 本阶段细节来自官方《TL-SE5420 安装手册》V1.0(2023)与 Omada 官方 VLAN 配置指南。
|
||
|
||
### 3.1 首次登录
|
||
|
||
**WEB 登录(推荐,无需串口驱动):**
|
||
1. 管理本网线接 SE5420 **任意 RJ45 业务口**;管理本静态 IP 设为 `10.18.18.10/24`,网关暂留空。
|
||
> **默认业务口 IP 是 `10.18.18.251`**(非 192.168.0.1,勿凭家用路由经验)。
|
||
2. 浏览器访问 `http://10.18.18.251`。
|
||
3. 首次登录行为:
|
||
- **WEB**:要求**设置用户名和密码**(出厂无默认口令,直接创建),创建后进入管理界面。
|
||
- **Console/Telnet/SSH**:官方《Accessing the Switch》指出默认账号为 **`admin/admin`**(首次登录后立即改密)。
|
||
> 渠道默认值可能不同,以实物为准:若 WEB 已设口令,CLI 用它登录;若尚未设置,尝试 `admin/admin`。
|
||
|
||
**Console 本地登录(可选,WEB 不可用时兜底):**
|
||
1. 电脑装「TP-LINK USB 串口驱动程序」(官网下载或随机光盘)。
|
||
2. 终端仿真程序参数:**波特率 38400**、数据位 8、校验无、停止位 1、流控无。
|
||
3. 回车出现 `TL-SE5420>` 提示符即登录成功;输入 `enable` 进特权模式。
|
||
|
||
### 3.2 基础安全设置
|
||
1. 改强口令(不落仓库);设时区 `Asia/Shanghai`、NTP。
|
||
2. **关 Telnet/HTTP**;保留 HTTPS + SSH:
|
||
- 关 Telnet:GUI `Security → Access Security → Telnet Config`,关闭 Telnet;或 CLI `telnet disable`。
|
||
- 关 HTTP:`Security → Access Security → HTTP Config`,关闭 HTTP server。
|
||
- 开 SSH:`Security → Access Security → SSH Config`,Enable SSH(默认端口 22)。
|
||
3. **关云管理**(商云 `smbcloud.tp-link.com.cn` 全局开关不开启;云管后续单独评估)。
|
||
4. **保存配置**——安装手册强调「配置实时生效,但断电前必须点保存配置」,每次改完都点保存。
|
||
|
||
### 3.2b SSH 登录 SE5420(覆盖确认)
|
||
|
||
> 参考官方《Accessing the Switch》与《OpenSSH 7.0+ 登录》指南。SSH 默认端口 **22**,
|
||
> 两种认证:口令模式(默认 `admin/admin`,改后为自定义口令)、密钥模式(PuTTY Key Generator 生成)。
|
||
|
||
**在 WSL/管理本上 SSH 登录:**
|
||
```bash
|
||
ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 \
|
||
-o HostKeyAlgorithms=+ssh-rsa \
|
||
admin@192.168.66.253
|
||
# 输入口令后进 User EXEC 模式,再输入 enable 进特权模式
|
||
```
|
||
|
||
> ⚠️ **旧 SSH 算法兼容性**:若交换机只支持旧算法,仅对这一次到 `192.168.66.253` 的连接使用命令行 `-o` 选项;**不要**写入全局 `~/.ssh/config`,也不要对其他主机放宽算法。将交换机管理服务限制在 LAN66,并优先使用支持现代算法的固件。
|
||
|
||
**关 SSH(如不需 CLI 远程管理)**:GUI `SSH Config` 关闭,或 CLI `no ip ssh server`。
|
||
|
||
**保存(CLI)**:`copy running-config startup-config`。
|
||
|
||
### 3.3 管理地址与 VLAN(第一步:只建 66/55)
|
||
|
||
> 菜单路径来自 TP-Link 官方《Omada 802.1Q VLAN 配置指南》与《管理 VLAN 指南》(SE5420 同平台)。
|
||
> 具体菜单名以设备 WEB 界面为准。**本步不建 VLAN10。**
|
||
> **顺序原则:必须先创建二层 VLAN,才能创建/启用对应的 VLAN Interface(SVI);VLAN1 的默认管理 IP 与成员关系只能在 VLAN66 管理路径验证通过后删除。**
|
||
|
||
**1. 保持 Type-C Console 全程连接**:本流程先建二层 VLAN、后建 VLAN66 管理 SVI;全程保留 Console 与默认 VLAN1 管理路径作为兜底。SSH 会话不是回滚保障。
|
||
|
||
**2. 创建 VLAN66、VLAN55**(`L2 Features → VLAN → 802.1Q VLAN → VLAN Config`,**只建 66 / 55**):
|
||
- 先创建二层 VLAN66、VLAN55(成员端口在步骤 3 / 7 配置);**暂时保留默认 VLAN1 及其管理 IP**,在 VLAN66 管理路径验证前不要改动 VLAN1。
|
||
|
||
**3. 选择临时验证口(例如口 6)**(`L2 Features → VLAN → 802.1Q VLAN → Port Config`):
|
||
- untagged VLAN66;
|
||
- PVID **66**。
|
||
- 该口仅用于本阶段验证 VLAN66 管理路径;其余口先不动。
|
||
|
||
**4. 创建 VLAN66 管理 SVI**(唯一的 L3 例外,`L3 FEATURES → Interface` 编辑 **VLAN66** interface 的 IPv4):
|
||
- 用户数据平面只做二层,但交换机自身需要一个 LAN66 管理 SVI。
|
||
- 静态 **`192.168.66.253/24`**,默认网关 **`192.168.66.254`**(池外且先确认无冲突)。该默认网关只供交换机自身访问 NTP、SSH、HTTPS 等管理服务,不承担客户端转发。
|
||
- 更改地址时保持 Console 连接。
|
||
|
||
**5. 管理本接临时验证口**:管理本网线接到口 6,静态 IP 设为 **`192.168.66.10/24`**。
|
||
|
||
**6. 验证 VLAN66 管理路径**:
|
||
- ping `192.168.66.253`;
|
||
- HTTPS 登录 WEB 管理;
|
||
- SSH 登录(若启用 CLI 远程管理);
|
||
- **保存配置后**(GUI 保存按钮或 CLI `copy running-config startup-config`)再次确认管理仍正常。
|
||
|
||
**7. 配置其余 VLAN66/VLAN55 端口及 PVID**(`L2 Features → VLAN → 802.1Q VLAN → Port Config`):
|
||
- VLAN66:untagged 口 1、2、3、4、6;VLAN55:untagged 口 9–12。
|
||
- 口 1、2、3、4、6:PVID **66**;口 9–12:PVID **55**。
|
||
- access 口仅允许其 untagged VLAN,开启 ingress filtering,并拒收 tagged 入站帧(以该机型可用选项为准)。
|
||
|
||
**8. 确认 VLAN66 管理路径稳定后,再清理默认 VLAN1**:
|
||
- 把口 1–16 从 **VLAN1 的 untagged 成员**中移除;VLAN1 不保留管理 IP。不要把“改 PVID”误当成移除 VLAN1 成员。
|
||
- VLAN66 管理路径(HTTPS / SSH 均已通过口 6 生效)未稳定前,**不得**删除 VLAN1 管理 IP 与成员关系。
|
||
|
||
**9. 收尾(关闭未使用端口、管理 ACL、保存导出)**:
|
||
- 关闭未使用端口:口 5、7、8、13–16 及未使用 SFP+ administratively down。
|
||
- 管理 ACL 源限制为 `192.168.66.0/24`,覆盖所有启用的管理服务(至少 HTTPS、SSH;若启用再加 SNMP)。
|
||
- **L3 明确边界**:除 VLAN66 管理 SVI 和交换机自身默认网关外,不创建 VLAN55/VLAN10 interface,不启用全局 IP routing、跨 VLAN routing、RIP、DHCP Server 或 DHCP Relay。保存前检查没有其他 SVI、用户路由或 L3 转发功能启用。
|
||
- **生成树**(`L2 Features → Spanning Tree`):启用 RSTP(或 MSTP),核心优先级设低(如 4096)。终端 access 口启用 edge/PortFast 与 BPDU Guard;ER-X、PVE、AP 或下级交换机上联口不要启用 BPDU Guard。
|
||
- **保存配置**:`System → Save Config` 或右上角保存按钮,否则断电丢失。
|
||
- **导出配置备份**(离线保存,**不进本仓库**)。
|
||
|
||
### 3.4 台面验证(未接生产)
|
||
1. 管理本接一个已经启用的 VLAN66 access 口,例如口 6:应能访问 `192.168.66.253`,且仅限 LAN66 管理源。
|
||
2. 用 `show vlan` / 对应 CLI 确认:业务口只有预期的 untagged VLAN66 或 VLAN55;VLAN1 没有意外成员或管理 IP;未接线端口显示 down 属正常。
|
||
3. 确认没有 VLAN10、VLAN55 没有 SVI、也没有启用全局 IP routing/RIP/DHCP Server/Relay。
|
||
|
||
---
|
||
|
||
## 4. 第一步·阶段 2:维护窗迁移(30–60 分钟)
|
||
|
||
> 原则:**先断旧、后接新**;每次移动一根线后立即验证 MAC 地址表、协商速率、错误计数和业务。全程保持 SE5420 Console;SSH 会话不是回滚保障。
|
||
> **本步所有口都是 66/55 access,不涉及 VLAN10。**
|
||
|
||
### 4.0 准备
|
||
- 打印第 1 节端口表;给所有现网线缆贴标签。
|
||
- 为每根线记录旧端口、目标端口和明确的回插位置。
|
||
- 通知中断窗口;确认 Console 可用且可物理接触 ER-X、PVE、SE5420。SSH 可用于诊断,但不作为带外回滚。
|
||
|
||
### 4.1 建立 ER-X ↔ SE5420 两条上联
|
||
1. 接 SE5420 **上排口 1 ↔ ER-X `eth0`**(LAN66 上联)。
|
||
- 此刻 ER-X eth0 可能还连着旧设备 → **先拔旧设备**,再接口 1(避免 eth0 同时连 SE5420 与旧路径形成环路)。
|
||
- 验证:管理本(或从 66 网)ping `192.168.66.253`(SE5420)、`192.168.66.254`(ER-X)、外网。
|
||
2. 接 SE5420 **下排口 9 ↔ ER-X `switch0` 某个成员口**(LAN55 上联)。
|
||
- 同样先拔该口旧接线。
|
||
- 验证:从 55 网 ping `192.168.55.254`、`192.168.66.46`(控制器)。
|
||
|
||
### 4.2 迁移 PVE(双网卡)
|
||
1. PVE `enp1s0` → SE5420 **口 2(access 66)**。
|
||
2. PVE `enp2s0` → SE5420 **口 10(access 55)**。
|
||
3. 验证 PVE:`ip -br addr` 显示 `.66.26`、`.55.26`;分别可达 `192.168.66.254`、`192.168.55.254`。
|
||
4. PVE 物理网卡迁移会同时影响 vmbr0/vmbr1 上的多台 VM;逐台验证 gfw、dns、ubnt、haos 的 IP、网关、DNS 和实际业务,不以“宿主仍开机”代替验证。
|
||
|
||
### 4.3 迁移 AP 与接入设备
|
||
1. U6 Lite → SE5420 **口 3(access 66)**。本地取电,网线只走数据。
|
||
- 验证:U6 拿到 `.66.6`,UniFi 控制器显示 Connected;其实际 Controller/Inform URL 与迁移前只读记录一致。
|
||
2. UAP-AC-Lite → SE5420 **口 11(access 55)**。
|
||
- 验证:`.55.5` Connected。
|
||
3. **隔壁房间上联 → SE5420 口 12(access 55)**。
|
||
- 对端是 **IoT 设备**(未来会有打印机)。迁移前确认那端是单台设备还是小交换机;若是下级交换机,记录型号并确认:只有一条上联、只承载 untagged LAN55、没有 VLAN trunk,且没有第二条路径返回 ER-X 或 SE5420。未满足任一项不得迁移。
|
||
- 验证:隔壁房间 IoT 设备恢复地址(LAN55 网段)、网关 `.254`、可达 DNS `.36`。
|
||
4. NAS/FreeNAS(含 transmission jail)→ **仅口 4**;口 5 继续物理断开。口 6 **只接一台明确设备**(windy-pc 或 hp-nas);若改为接下级交换机,必须记录其型号、确认其只有一条上联且仅承载 LAN66。逐个验证地址/DNS/业务。
|
||
- dns/.36、ubnt/.46、gfw/.1、haos 均随 PVE 网卡迁移,**不单独插口**——只验证 PVE 后这些 VM 的 IP 与业务即可。
|
||
5. 旧交换/旧接线仅在确认不形成并行二层路径后下电。单个终端保留 ER-X 直连不是环路;禁止的是同一下级交换机双上联、桥接双网口或同 VLAN 的并行二层路径。
|
||
|
||
### 4.4 全局验证(第一步 Done 判定)
|
||
见第 10 节第一阶段验收项全绿。**VLAN10 完全不在本步范围。**
|
||
|
||
---
|
||
|
||
# 第二步:VLAN10 升级专用 SSID(第一步稳定 ≥1 天后,多个独立维护窗)
|
||
|
||
> **放行门槛:**第一步验收前 7 条全绿、网络稳定运行 ≥1 天,且已完成本节的 PVE 边界、gfw 防火墙/NAT、IPv6 设计与只读核验。**SSID 是最后才启用的组件。** 任一步失败均不改变 LAN55/LAN66 的主网语义。
|
||
|
||
## 5. 第二步·阶段 1:PVE VLAN10 边界(独立维护窗)
|
||
|
||
当前 `vmbr0` 是非 VLAN-aware 的共享 bridge。它可形成 VLAN10 路径,但不能证明 VLAN10 只会交付给 gfw;同 bridge 的其他 VM 理论上可消费 tagged 帧。
|
||
|
||
**目标模型:**SE5420 口2为 external native/untagged VLAN66 + tagged VLAN10;PVE 的既有管理接口和普通 VM vNIC 保持其现有的**无标签**语义,只有 gfw 新增的专用 vNIC 使用 `tag=10`。因此 gfw 从该 vNIC 收到的是无标签 VLAN10 流量。
|
||
|
||
> Linux bridge 内部的 untagged/PVID 语义不天然等于外部 VID 66。不得在不知道现状的情况下直接写 `bridge-vids 10 66`,也不得改变 bridge self、物理口或现有 tap 口的 PVID/untagged 状态;否则可能立即切断 PVE `.66.26`、dns、ubnt 或 gfw 的 LAN66 接口。
|
||
|
||
1. **先取得只读快照**,再生成专用变更:
|
||
```sh
|
||
cat /etc/network/interfaces
|
||
qm config 140
|
||
bridge vlan show
|
||
bridge link
|
||
ip -d link show vmbr0
|
||
pveversion -v
|
||
```
|
||
2. 操作前在各自主机的安全本地位置备份(不提交仓库):PVE `/etc/network/interfaces`、`/etc/pve/qemu-server/140.conf`;gfw `/etc/config/network`、`/etc/config/dhcp`、`/etc/config/firewall`。确认可用的本地 Console/带外路径;没有完整备份和回滚能力则停止。
|
||
3. 根据快照,以最小变更启用 VLAN-aware:保留现有 PVE 管理和普通 VM 的无标签连通性,只额外允许 tag 10 经过物理上联,并为 gfw 配置唯一 `tag=10` 的专用 access vNIC。dns、ubnt 和其他 VM 不得加入 VLAN10。
|
||
4. VM 140 已有 `eth0.10=192.168.10.1/24`,必须完成显式迁移:新增 vNIC并记录 MAC → 在 gfw 确认新接口名(如 `eth2`)→ 将 `ubunt_upg` 的 device 从 `eth0.10` 改为新接口 → 保留 `192.168.10.1/24`、DHCP 与 firewall zone 绑定 → 验证后删除旧 `eth0.10` device。任何时刻不得让同一 VLAN10 地址同时存在于两个接口。
|
||
5. 逐项验证:PVE 管理 IP 仍在 LAN66;gfw 有唯一 VLAN10 接口;`bridge vlan show`、VM NIC 配置和抓包都证明其他 VM 无 VLAN10 可达性。
|
||
6. 未通过本节不得继续 VLAN10 项目;不得将 flat bridge 共享 trunk 描述为严格隔离。
|
||
|
||
## 6. 第二步·阶段 2:SE5420 增加 VLAN10(PVE 边界通过后)
|
||
|
||
1. **建 VLAN10**(`L2 Features → VLAN → 802.1Q VLAN → VLAN Config`):仅 **tagged 口 2、口 3**。
|
||
2. 将口 2(PVE)和口 3(U6)改为严格 trunk:native/untagged VLAN66 + tagged VLAN10;只允许 VLAN66、VLAN10,并开启 ingress filtering。
|
||
3. 其余端口不允许 VLAN10;VLAN10 不创建 SVI、DHCP 或路由功能。
|
||
4. 保存配置后用 `show vlan`、端口状态、MAC 表验证 VLAN10 仅出现在口 2/3,且 VLAN66 管理流量不受影响。
|
||
|
||
## 7. 第二步·阶段 3:gfw 防火墙、NAT 与 IPv6(SSH `root@192.168.66.1`)
|
||
|
||
**先只读确认,禁止直接复制旧片段:**
|
||
|
||
```sh
|
||
uci show network
|
||
uci show firewall
|
||
uci show dhcp
|
||
ip -4 route
|
||
ip -6 addr
|
||
ip -6 route
|
||
fw4 print
|
||
nft list ruleset
|
||
```
|
||
|
||
确认 `wan` zone 的实际接口和 NAT 状态、现有命名/匿名 forwarding、`ubunt_upg` 的 DHCP 绑定,以及 IPv6/RA/DHCPv6 状态。依据实际 section 名称创建**命名、可重复执行**的规则,不使用会重复累积的匿名 `uci add`。
|
||
|
||
### IPv4 目标策略
|
||
|
||
| 流量 | 动作 |
|
||
|---|---|
|
||
| VLAN10 → gfw DHCP、DNS | 允许 |
|
||
| VLAN10 → gfw SSH/LuCI/SNMP/其他管理服务 | 拒绝 |
|
||
| VLAN10 → LAN66、LAN55、其他 RFC1918 内网 | 拒绝 |
|
||
| VLAN10 → Internet | 允许 |
|
||
| established/related 回包 | 允许 |
|
||
|
||
- 保持 `ubunt_upg` 的默认 forward 策略为拒绝;仅创建明确的、命名的 `ubunt_upg → wan` forwarding。
|
||
- **不要**在 `ubunt_upg` 源 zone 设置 masquerade,也不要使用 `forward_policy` 这类非标准 zone 选项。
|
||
- 先确认 `wan` 是否已经产生正确的出口 NAT;若没有,为 `192.168.10.0/24` 配置 IPv4 SNAT/MASQUERADE,使其匹配 gfw 出 LAN66 的实际出口接口/zone。
|
||
- 拒绝内网的规则必须在生成的 nftables 规则中先于通用允许路径命中;以 `fw4 print` 和 `nft list ruleset` 验证,而非仅看 UCI 文本。
|
||
|
||
### IPv6 决策:本阶段明确不提供 VLAN10 IPv6
|
||
|
||
- 在 gfw 上对 VLAN10 **显式关闭并核验** RA、DHCPv6、NDP relay/delegation、IPv6 forwarding 与前缀委派;不能仅靠“不配置”推断它们未启动。
|
||
- 客户端可以保留 IPv6 link-local(`fe80::/64`)地址;但不得获得 GUA/ULA、IPv6 DNS 或 IPv6 默认路由。
|
||
- 以后若要支持 IPv6,须另开设计与维护窗,单独定义 IPv6 防火墙、DNS 和代理接管。
|
||
|
||
### gfw 部署后验证
|
||
|
||
- VLAN10 DHCP 租约与 DNS 正常。
|
||
- IPv4 NAT 命中 `192.168.10.0/24` 和正确出口。
|
||
- LAN66/LAN55/其他私网拒绝规则、gfw 管理面拒绝规则均有测试命中。
|
||
- `ip -6 addr`、`ip -6 route`、`curl -6` 证明 VLAN10 除可能的 link-local 外没有 GUA/ULA、IPv6 DNS、默认路由或可用 IPv6 出口。
|
||
|
||
## 8. 第二步·阶段 4:UniFi 改网络 + 启用 SSID(最后执行)
|
||
|
||
1. 先在 AP 上用 `info` 核实实际 Controller/Inform URL;不凭文档假定端口。
|
||
2. UniFi → Networks → `ubnt-upg`:Router 设为 **Third-party Gateway**;VLAN ID `10`、子网 `192.168.10.0/24`、网关 `192.168.10.1`;DHCP 关闭。
|
||
3. `ubnt-upg` 仅选 **U6 Lite** 广播;不得让 UAP-AC-Lite 广播(其 LAN55 上联无 VLAN10 通道)。保留两台 AP 的原 PoE 注入器。
|
||
4. 最后才 enable SSID,使用单一测试客户端逐级验证:
|
||
- 获得 `192.168.10.100~250`、网关 `192.168.10.1`、预期的 gfw DNS 地址;
|
||
- 普通域名、国内域名和海外域名均按预期解析,DNS 流量可关联至 gfw/OpenClash 路径;客户端不能直接访问 LAN66 的 `.36` DNS,除非另有书面允许;
|
||
- gfw 上出现对应 DHCP 租约和 VLAN10 数据帧;若需抓包工具,先确认实际包管理器,勿假定 `apk` 或 `opkg`;
|
||
- `curl -4` 成功;`curl -6` 不应成功;
|
||
- 无法访问 `.66.1/.26/.36/.46/.254`、`.55.254` 和选定 LAN55 主机;
|
||
- 无法访问 gfw SSH/LuCI 等管理面;
|
||
- 以测试客户端的源地址/五元组或日志关联确认代理路径,**不以全局 `7892` 计数增长作为证明**。
|
||
5. 失败处理:先关闭 `ubnt-upg` SSID;主 SSID、`.254` 路径和 LAN55/LAN66 不受影响。
|
||
|
||
## 9. 回滚语义
|
||
|
||
| 步骤/阶段 | 失败动作 |
|
||
|---|---|
|
||
| 第一步·阶段 1 | 无生产影响;还原 SE5420 台面配置或出厂即可 |
|
||
| 第一步·阶段 2(维护窗内) | **停手**;把刚迁的线插回 ER-X 原口;不动 ER-X WAN/DHCP/SSH |
|
||
| 第二步·阶段 1(PVE VLAN-aware + VM 140/gfw 迁移) | 按本节完整回滚顺序恢复 PVE、VM 140 与 gfw 配置;停止 VLAN10 项目 |
|
||
| 第二步·阶段 2(SE5420 VLAN10) | 删 VLAN10、口 2/3 恢复严格 access VLAN66 |
|
||
| 第二步·阶段 3(gfw) | 恢复变更前已备份的命名规则/NAT;不触碰 LAN55/LAN66 主网规则 |
|
||
| 第二步·阶段 4(SSID) | 只关 `ubnt-upg` SSID;主 SSID、`.254`、gfw 66 路径不受影响 |
|
||
|
||
**第二步阶段 1 回滚顺序:**(1)关闭 `ubnt-upg` SSID;(2)将 gfw `ubunt_upg` 恢复绑定到 `eth0.10`;(3)恢复 gfw network/DHCP/firewall 配置;(4)从 VM 140 移除新增 VLAN10 vNIC;(5)恢复 VM 140 配置;(6)最后恢复 PVE `/etc/network/interfaces`;(7)分别验证 PVE、dns、ubnt、gfw 的 LAN66 连通性。不得只恢复 PVE bridge 而留下无接口的 DHCP 或 firewall zone。
|
||
|
||
### SE5420 恢复出厂(忘记口令 / 需要重配)
|
||
|
||
> 官方《安装手册》附录 A「问题1」方法(**需 Console 串口**):
|
||
|
||
1. 管理本连 SE5420 **Type-C Console 口**(波特率 38400,8N1,无流控)。
|
||
2. 交换机断电重启;终端出现 **`Press CTRL-B to enter the bootUtil`** 时同时按 `Ctrl+B` 进 bootUtil 菜单。
|
||
3. 输入 `2`(软件复位),复位后恢复出厂默认;此后首次 WEB 登录为创建新用户名/密码(初始管理 IP 恢复 `10.18.18.251`)。
|
||
4. 恢复后按第一步·阶段 1 重配,并**重新保存配置**。
|
||
|
||
---
|
||
|
||
## 10. 验收清单(「网络算正常」的样子)
|
||
|
||
**第一步 Done(前 7 条全绿):**
|
||
1. SE5420 管理面:`192.168.66.253` 仅 LAN66 可达;默认口令已改;配置已离线备份。
|
||
2. LAN66:客户端 DHCP 拿 `.66.x`、网关 `.254`、DNS `.36`;外网通。
|
||
3. LAN55:客户端拿 `.55.x`、网关 `.254`、DNS `.36`;跨网段互通(`.55.x ↔ .66.x`)。
|
||
4. 端口转发逐条从公网验证(hass 8123 / transmission 51413 / ssh 5822→.36:22 / openvpn 1194)。
|
||
5. UniFi:U6(`.66.6`) 与 AC-Lite(`.55.5`) Connected;两台 AP 的实际 Controller/Inform URL 与迁移前只读记录一致。
|
||
6. 无环路、无双默认网关;端口协商与错误计数正常;不再使用的旧交换已下电,且所有同 VLAN 并行二层路径均已拆除。
|
||
7. `gfw` 旁路由行为与升级前一致(主网默认网关仍 `.254`)。
|
||
|
||
**第二步额外(第 8 条):**
|
||
8. `ubnt-upg` 客户端获得 `192.168.10.x`、网关 `.10.1`、预期的 gfw DNS 地址;普通/国内/海外域名均按预期解析,IPv4 可上网;不可达 LAN66、LAN55、其他内网、gfw 管理面及 LAN66 `.36` DNS(除非书面允许);gfw 侧 DHCP、拒绝规则、NAT、DNS 与代理路径均能关联到该测试客户端。
|
||
|
||
**贯穿:**
|
||
9. LAN55/LAN66 的 IPv6 行为与迁移前基线一致;VLAN10 已显式关闭并核验 RA、DHCPv6、NDP relay/delegation、IPv6 forwarding 与前缀委派;客户端除可能的 link-local 外没有 GUA/ULA、IPv6 DNS、默认路由或 IPv6 出口。
|
||
|
||
---
|
||
|
||
## 11. 安全与记录
|
||
|
||
- **本仓库永不记录**:SE5420 口令、ER-X 配置快照(含 PPPoE/口令)、gfw 凭据。
|
||
- 每次实质变更后,在 Linear `vps` 项目记录 scope / action / verification / 遗留 follow-up。
|
||
- SE5420 配置备份离线保存;不做云管。
|
||
- SSH/访问策略变更遵循仓库「SSH access safety」流程。
|
||
|
||
---
|
||
|
||
## 12. 参考
|
||
|
||
- 设计说明:[lan-erx-se5420-network.md](lan-erx-se5420-network.md)
|
||
- 早期阶段计划(已细化于本文):[lan-core-switch-upgrade-plan.md](lan-core-switch-upgrade-plan.md)
|
||
- 现网地图:[lan-overview.md](lan-overview.md)
|
||
- ER-X:[edgerouter-x-configuration.md](edgerouter-x-configuration.md)、[hosts/gw.md](../hosts/gw.md)
|
||
- UniFi / VLAN10 前置:[unifi-network.md](unifi-network.md)、[unifi-third-party-vlan10-dhcp.md](unifi-third-party-vlan10-dhcp.md)
|
||
- `gfw`:[hosts/gfw.windy.lan.md](../hosts/gfw.windy.lan.md)
|
||
- PVE:[PVE 透传方法调研](lan-rb5009-upgrade.md#阶段-5-附pve-上-vlan10-透传实现调研-2026-08-09)
|
||
- SE5420 官方安装手册(默认 IP `10.18.18.251`、Console 38400、恢复出厂):<https://service.tp-link.com.cn/download/202310/TL-SE5420%20V1.0安装手册%201.0.2.pdf>
|
||
- **SE5420 安装手册(Markdown 整理版)**:[se5420-official-manuals/tl-se5420-install-manual.md](se5420-official-manuals/tl-se5420-install-manual.md)
|
||
- SE5420 规格:<https://www.tp-link.com.cn/product_2899.html?v=specification>
|
||
- SE5420 固件下载:<https://www.tp-link.com.cn/product_2899.html?v=download>
|
||
- Omada 802.1Q VLAN 配置指南(`L2 Features → VLAN → 802.1Q VLAN → VLAN Config / Port Config`):<https://support.omadanetworks.com/en/document/12981/>
|
||
- Omada 管理 VLAN 配置指南:<https://support.omadanetworks.com/en/document/13135/>
|
||
- TP-Link「Accessing the Switch」(WEB/Console/Telnet/SSH 登录、管理 IP 与网关、保存配置):<https://www.tp-link.com/us/configuration-guides/accessing_the_switch/?configurationId=18231>
|
||
- TP-Link「OpenSSH 7.0+ 登录交换机」(KexAlgorithms/HostKeyAlgorithms 兼容):<https://support.omadanetworks.com/en/document/12963/>
|