Files
vps/docs/lan-se5420-deployment-guide.md
T

418 lines
26 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SE5420 核心交换机升级操作指导(细粒度版)
**目标:** 把 LAN66/LAN55 有线接入从 ER-X 内置交换迁到 TL-SE5420;稳定后再启用 VLAN10 升级专用 SSID。
**全程三条(不再重复):**
1. 先断旧、后接新,一次一根线;同一设备不得同时接旧路径与新核心。
2. 全程保持 SE5420 Type-C Console38400 8N1)连接——SSH 会话移动其承载链路即断,不是回滚保障。
3. 任一步「预期」不符 → 停止,执行 §16 对应回滚;故障中不动 ER-X 的 WAN/DHCP/SSH。
**关于命令的真实性:** SE5420 的 GUI 菜单路径来自官方 Omada VLAN/管理指南;CLI 语法仅采用官方手册出现过的(`enable``telnet disable``copy running-config startup-config``show vlan`)。PVE/gfw 的每步先有只读快照命令,改动均以你实际看到的输出为准,不套用写死的模板。
---
# 第一阶段:主网 55/66 迁移
## 1. 开工前准备
### 1.1 备份(4 个动作,全部留档到 `/tmp/opencode/baseline-YYYYMMDD/`,不进仓库)
1. ER-X 配置快照(滤敏感行):
```bash
mkdir -p /tmp/opencode/baseline-$(date +%Y%m%d)
ssh -4 zhiqiang@192.168.66.254 'show configuration commands' \
| grep -Ev 'pppoe|password|secret|key|pre-shared' \
> /tmp/opencode/baseline-$(date +%Y%m%d)/gw-sanitized.txt
```
- 预期:文件非空,`grep -i 'password\|pppoe' gw-sanitized.txt` 无输出。
2. PVE 配置:
```bash
ssh -4 root@192.168.66.26 'cat /etc/network/interfaces; echo ---; qm config 140' \
> /tmp/opencode/baseline-$(date +%Y%m%d)/pve-interfaces.txt
```
- 预期:能看到 `vmbr0`/`vmbr1` 定义与 VM140 的 `net0`/`net1`。
3. gfw 配置:
```bash
ssh -4 root@192.168.66.1 'cat /etc/config/network /etc/config/dhcp /etc/config/firewall' \
> /tmp/opencode/baseline-$(date +%Y%m%d)/gfw-uci.txt
```
- 预期:三个文件内容都在,且能看到 `ubunt_upg` zone、`ubunt_upg_nat`、`ubunt_upg_to_lan`。
4. 检查备份文件存在且可读:`ls -la /tmp/opencode/baseline-$(date +%Y%m%d)/`。
### 1.2 记录现网状态(迁移后比对用)
1. ER-X 状态:
```bash
ssh -4 zhiqiang@192.168.66.254 'show interfaces; show ip route; show dhcp server leases'
```
- 预期:eth0/switch0 up;两条直连路由 + pppoe0 默认路由;DHCP lease 正常。
2. PVE 地址:
```bash
ssh -4 root@192.168.66.26 'ip -br addr'
```
- 预期:`vmbr0`=192.168.66.26、`vmbr1`=192.168.55.26。
3. gfw 关键状态:
```bash
ssh -4 root@192.168.66.1 'uci show firewall | grep -E "ubunt_upg|wan.*masq"; ip -4 route'
```
- 预期:`wan.masq=1`、`ubunt_upg_nat`、`ubunt_upg_to_lan` 在位;默认路由 `default via 192.168.66.254`。
4. 两台 AP:打开 UniFi 控制台 → Devices,记录 U6 Lite 与 UAP-AC-Lite 的 IP、Connected 状态、Inform URL。
### 1.3 SSID 与标签
1. 禁用不可用 SSIDUniFi → WiFi → 找到 `ubnt-upg` → 关闭 Enabled 开关。
- 预期:开关变灰/显示 Disabled。
- 记录原设置(第二步回滚要用)。
2. 给现网每根线缆贴标签:`旧设备端接口名` + `目标 SE5420 口`,如 `NAS→SE5420口4`、`ERX-eth0→SE5420口1`。
3. 打印 §2 端口表放在操作位。
### 1.4 物料与带外
1. 确认有:SE5420(核对 V1.0 型号)、原装电源线、Type-C 串口线、Cat5e 以上网线数根、标签贴。
2. 管理本装「TP-LINK USB 串口驱动」(官网下载或随机光盘)。
3. 终端仿真软件准备(PuTTY/串口助手/Windows Terminal),预填参数 **38400 / 8 / 无校验 / 1 / 无流控**。
## 2. 端口表(SE5420
> 面板:上排口 18 = LAN66,下排口 916 = LAN55,每排首位是该 VLAN 的 ER-X 上联。接线前对照实物面板编号。
| SE5420 口 | 对端 | 模式 | PVID | 成员 VLAN |
|---|---|---|---|---|
| **上排 1** | ER-X `eth0`66 上联) | access | 66 | untagged 66 |
| 2 | PVE `enp1s0` | access | 66 | untagged 66 |
| 3 | U6 Lite | access | 66 | untagged 66 |
| 4 | NAS/FreeNAS 第 1 口 | access | 66 | untagged 66 |
| 5 | NAS 第 2 口(后续 LACP 窗用) | 物理断开 | — | — |
| 6 | windy-pc`.99`)或 hp-nas`.32`)二选一 | access | 66 | untagged 66 |
| 78 | LAN66 预留 | admin down | — | — |
| **下排 9** | ER-X `switch0` 成员口(55 上联) | access | 55 | untagged 55 |
| 10 | PVE `enp2s0` | access | 55 | untagged 55 |
| 11 | UAP-AC-Lite | access | 55 | untagged 55 |
| 12 | 隔壁房间上联(IoT | access | 55 | untagged 55 |
| 13 | 打印机(未来) | admin down | — | — |
| 1416 | LAN55 预留 | admin down | — | — |
| SFP+ 14 | 未来 10G | 空槽 | — | — |
- 第一步不建 VLAN10、不向 ER-X 送任何 tag、口 2/3 不做 trunk。
- NAS 只接口 4,口 5 断开(LACP 是独立维护窗)。
- 不占口的 VMdns(.36=VM120)、ubnt(.46=VM160)、gfw(.1=VM140)、haos(.55.11=VM180)transmission(.51) 是 NAS jail。
## 3. 开箱与固件升级
1. 核对包装型号 `TL-SE5420`;看设备底部标签硬件版本 `V1.0`。
2. 浏览器打开 `https://www.tp-link.com.cn/product_2899.html?v=download`。
3. 页面「升级软件」分类下下载最新固件(已知 `20230908_1.0.0`,以页面为准);解压得到 `.bin` 文件。
4. 管理本网线接 SE5420 任意 RJ45 口;管理本设静态 IP `10.18.18.10/24`(网关留空)。
5. 浏览器 `http://10.18.18.251`,首次登录创建用户名 + 强密码。
6. WEB 里 `系统 → 软件升级 → 选择文件` 选固件 → 升级 → 等待重启,**期间勿断电**。
7. **验证:** 升级后 `系统 → 系统信息` 版本号正确;面板 SYS 灯绿色闪烁、Link/Act 闪一下后熄灭。
## 4. 台面初始化 SE5420(不接生产)
### 4.1 登录通道确认
1. Console 线接 SE5420 Type-C Console 口 → 管理本 USB。
2. 打开串口终端(38400/8/无/1/无流控),连按回车。
3. **预期:** 出现 `TL-SE5420>` 提示符。
4. 输入 `enable` 回车,进特权模式(提示符变 `#` 或类似)。
5. 若 WEB 也通(第 3 步已创建账号),记录:WEB + Console 双通道可用。
### 4.2 基础安全
1. WEB 登录 → 改强口令:`Security → Access Security`(或管理账户设置)→ 修改密码 → 保存。
2. 设时区与 NTP`System → System Settings` → Timezone `Asia/Shanghai` → NTP server 填 `ntp.aliyun.com`(或 `pool.ntp.org`)→ 保存。
3. 关 Telnet`Security → Access Security → Telnet Config` → Enable 关闭。
- CLI 替代:`telnet disable`。
4. 关 HTTP`Security → Access Security → HTTP Config` → HTTP server 关闭(保留 HTTPS)。
5. 开 SSH`Security → Access Security → SSH Config` → Enable SSH(端口 22)。
6. 关云管理:`云管理`/`Cloud Management` → 全局开关保持关闭(不绑定 `smbcloud.tp-link.com.cn`)。
7. **保存:** 右上角保存按钮,或 `System → Save Config`。
8. **验证:** CLI `show running-config` 中 Telnet/HTTP 为 disable;管理本 `https://10.18.18.251` 能开、SSH 22 能连(此时管理 IP 仍是默认 10.18.18.25166.253 的 HTTPS 验证在 §4.3 第 7 步做)。
### 4.3 VLAN 与管理地址(本步只建 66/55)
**步骤顺序依据:先建二层 VLAN → 再建 SVI → 验证管理路径 → 才清理 VLAN1。**
1. 建 VLAN66`L2 Features → VLAN → 802.1Q VLAN → VLAN Config` → 新建 → VLAN ID 填 `66` → 保存。
2. 建 VLAN55:同上 → VLAN ID 填 `55` → 保存。
3. **验证:** VLAN 列表出现 66、55;VLAN1 仍在(暂不动)。
4. 配临时验证口 6`VLAN Config` 旁的 `Port Config` → 选口 6 → Port mode `Access` → PVID `66` → 允许 untagged VLAN `66` → 保存。
5. 建管理 SVI`L3 FEATURES → Interface` → 找到 VLAN66 接口 → 编辑 IPv4 → 手动/静态 `192.168.66.253`,掩码 `255.255.255.0` → 默认网关 `192.168.66.254` → 保存。
6. 管理本改静态 IP `192.168.66.10/24`,网线接口 6。
7. **验证管理路径:**
- `ping 192.168.66.253` → 通;
- 浏览器 `https://192.168.66.253` → 登录成功;
- (可选)SSH`ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 -o HostKeyAlgorithms=+ssh-rsa admin@192.168.66.253` → 成功。
- 全通后再进行下一步;否则停手排查(查 PVID/untagged/接线),保持 Console 兜底。
8. 配 66 侧端口:`Port Config` 逐口设:口 1/2/3/4 → Access、PVID `66`、untagged `66`(口 6 上一步已配)。
9. 配 55 侧端口:口 9/10/11/12 → Access、PVID `55`、untagged `55`。
10. 每个 access 口开启 ingress filtering、拒收 tagged 入站帧(该机型对应选项,如 Ingress checking/VLAN filtering → Enable)。
11. **保存配置**(右上角保存或 `System → Save Config`)。
12. **验证:** `show vlan`:口 1/2/3/4/6 属 VLAN66,口 912 属 VLAN55,口 5/7/8/1316 无成员;VLAN1 暂时还有全口成员(下一步清理)。
13. 清理 VLAN1`Port Config` 逐口(口 116)把 `untagged VLAN` 从 VLAN1 移除(保留 66 或 55)。**改 PVID 不等于移除成员。**
14. 删 VLAN1 管理 IP`L3 FEATURES → Interface` → VLAN1 → 清空 IPv4。
15. **保存配置**。
16. **验证:** `show vlan` VLAN1 无任何成员、无管理 IPVLAN66 管理路径仍通(SSH/HTTPS 不断)。
17. 关未用端口:`Port Config` 口 5、7、8、13–16 → 端口状态 `Disabled`/administratively down。
18. 配管理 ACL`Security → Access Security → Management Access Control`(或对应 ACL)→ 允许源网段 `192.168.66.0/24` 访问 HTTPS/SSH(启用 SNMP 则一并限制)→ 其余拒绝 → 保存。
19. 配生成树:`L2 Features → Spanning Tree` → 模式 `RSTP`(或 MSTP)→ 本机优先级 `4096` → 终端 access 口开 `Edge/PortFast` + `BPDU Guard`;口 1/2/3/4/6/9/10/11/12(接 ER-X/PVE/AP/下联)**不开** BPDU Guard → 保存。
20. **L3 明确边界检查:** `L3 FEATURES` 确认只有 VLAN66 有 SVI;无 VLAN55/VLAN10 接口;`Routing`/`Static Route` 无用户路由;`DHCP Server/Relay` 未启用;RIP 未启用。
21. **保存 + 导出备份:** 保存配置;`系统 → 配置备份/导入导出` → 导出配置文件到管理本(离线保存,不进仓库)。
22. **断电重启验证:** 拔电源 10 秒 → 插回 → 重启完成后 `ping 192.168.66.253` 通、HTTPS/SSH 可登录 → 证明保存生效。
### 4.4 台面完成判定
- `show vlan` 结果与 §2 端口表一致;VLAN1 空;管理仅 LAN66 可达;配置已导出。
## 5. 建立上联(维护窗开始)
1. 找到 ER-X `eth0` 当前所连的旧设备/旧交换线,**先拔掉旧线**(避免 eth0 同时连两条路径形成环路)。
2. 新线一端插 SE5420 **口 1**,另一端插 ER-X `eth0`。
3. **验证:**
- 管理本 `ping 192.168.66.253` → 通(SE5420);
- `ping 192.168.66.254` → 通(ER-X);
- `ping 223.5.5.5` → 通(外网);
- SE5420 `show interface` 口 1:Link up、速率协商正常、错误计数 0。
4. 找到 ER-X `switch0` 某成员口(eth1–eth3 任一口)的旧接线,先拔。
5. 新线一端插 SE5420 **口 9**,另一端插该 switch0 成员口。
6. **验证:**
- 从 55 网段设备(或临时给管理本加 `.55.x` 地址)`ping 192.168.55.254` → 通;
- `ping 192.168.66.46`(控制器,跨网段)→ 通;
- SE5420 `show interface` 口 9Link up、错误计数 0。
## 6. 迁移 PVE
1. 拔 PVE `enp1s0` 旧线 → 插 SE5420 **口 2**。
2. **验证:**
```bash
ssh -4 root@192.168.66.26 'ip -br addr'
```
- 预期:`enp1s0`/`vmbr0` = `192.168.66.26/24`
- `ssh -4 root@192.168.66.26 'ping -c3 192.168.66.254'` → 通。
3. 拔 PVE `enp2s0` 旧线 → 插 SE5420 **口 10**。
4. **验证:**
- `ip -br addr``vmbr1` = `192.168.55.26/24`
- `ping -c3 192.168.55.254` → 通。
5. 逐台验证 VM(顺序:gfw → dns → ubnt → haos):
```bash
ssh -4 root@192.168.66.26 'qm list'
```
- gfw`ping -c3 192.168.66.1` → 通;
- dns`ping -c3 192.168.66.36` → 通;
- ubnt`ping -c3 192.168.66.46` → 通;
- haos`ping -c3 192.168.55.11` → 通(注意是 55 网段)。
6. 每个 VM 再验业务:gfw 的 OpenClash 面板/DNS 正常、dns 的 AdGuard UI 能开、ubnt 控制器 Connected、haos 界面能开。不以"宿主开机"代替。
## 7. 迁移 AP 与接入设备
1. U6 Lite:先拔旧线 → 插 SE5420 **口 3**(本地 PoE 注入器不动,网线只走数据)。
2. **验证:** U6 重连后拿回 `192.168.66.6`UniFi 控制台显示 U6 ConnectedInform 与 §1.2 记录一致。
3. UAP-AC-Lite:拔旧线 → 插 SE5420 **口 11**。
4. **验证:** `192.168.55.5`UniFi 显示 Connected。
5. 隔壁房间上联:拔旧线 → 插 SE5420 **口 12**。
- 插之前确认对端:若对端是小交换机,须满足——只有一条上联、只承载 untagged LAN55、无 VLAN trunk、无第二条路径回 ER-X/SE5420。任一项不满足则不迁移。
6. **验证:** 该网段设备拿到 `.55.x`、网关 `192.168.55.254`、DNS `192.168.66.36` 可达。
7. NAS:拔旧线 → 插 SE5420 **仅口 4**(口 5 保持断开)。
8. **验证:** NAS 拿到 `.66.x`(应为原静态 `.51` 或 reservation),`ping 192.168.66.36` 通,transmission jail 可访问。
9. 口 6 只接一台明确设备(windy-pc `.99` 或 hp-nas `.32`):拔旧线 → 插口 6。
10. **验证:** 该设备拿 `.66.x`、上网正常。
11. 确认没有并行二层路径后,旧交换/旧接线下电、收线。
## 8. 第一阶段验收(全绿才进第二阶段)
1. SE5420`ping 192.168.66.253` 通,且从 55 网段**不通**(仅 LAN66 管理);默认口令已改;配置已离线备份。
2. LAN66 客户端:`ip addr` 是 `.66.x`、路由 `default via 192.168.66.254`、DNS `192.168.66.36``ping 223.5.5.5` 通。
3. LAN55 客户端:`.55.x`、`default via 192.168.55.254`LAN55↔LAN66 互通(如 `ping 192.168.66.46`)。
4. 端口转发:从公网(手机流量)逐条验——hass `:8123`、transmission `:51413`、ssh `:5822→.36:22`、openvpn `:1194`。
5. UniFiU6、AC-Lite 均 ConnectedInform 与基线一致。
6. SE5420 `show interface`:所有在用口无 CRC/FCS/错误计数增长;ER-X 无广播风暴/ MAC 漂移日志;旧交换已断电。
7. gfw:主网默认网关仍 `.254``ip route` 里没有默认走 `.1`),OpenClash 行为与升级前一致。
> 可选:两台 2.5G 终端同 VLAN 跑 `iperf3 -s` / `iperf3 -c <对端>`,记结果。同 VLAN 才可能超 1G;跨 55/66 与 Internet 受 ER-X/宽带限制。
---
# 第二阶段:VLAN10 升级专用 SSID(第一步稳定 ≥1 天后再做)
> 放行门槛:§8 全绿、稳定 ≥1 天、每步先只读核实现状。SSID 最后才启用。任一步失败只回滚该步。
## 9. PVE VLAN10 边界
### 9.1 快照与备份
1. 取只读快照(逐条执行并保存输出):
```sh
cat /etc/network/interfaces
qm config 140
bridge vlan show
bridge link
ip -d link show vmbr0
pveversion -v
```
2. 备份(同 §1.1 目录):PVE `/etc/network/interfaces`、`/etc/pve/qemu-server/140.conf`gfw `/etc/config/{network,dhcp,firewall}`。
3. 确认本地 Console/带外路径可用;**无完整备份和回滚能力则停止。**
### 9.2 改造 vmbr0 为 VLAN-aware(以 §9.1 快照为准)
1. 编辑 `/etc/network/interfaces``nano /etc/network/interfaces`)。
2. 在 `vmbr0` 定义段加一行:`bridge-vlan-aware yes`。
3. 在物理口 `enp1s0` 的配置里,把允许 VLAN 显式列出(典型为 `bridge-vids 2-4094` 或按快照当前值扩展出 10),并确认 untagged/PVID 语义与现状一致。**不得在没看快照的情况下写死。**
4. `systemctl restart networking`(或 `ifreload -a`)应用。
5. **验证(关键):** `ssh -4 root@192.168.66.26 'ip -br addr'` 显示 `.66.26` 仍在;`ping 192.168.66.254` 通;dns(.36)/ubnt(.46)/gfw(.1) 仍通。任一断 → 立即回滚 interfaces 文件重启网络。
6. `bridge vlan show` 确认现有 tap 口、物理口的 PVID/untagged 与迁移前一致,只是多出 tag 10 的允许。
### 9.3 为 gfw 加 tag=10 专用 vNIC
1. PVE 上给 VM140 加网卡(从管理本执行,bus 用下一个空闲值,记下 MAC):
```sh
ssh -4 root@192.168.66.26 'qm set 140 -net2 virtio,bridge=vmbr0,tag=10'
```
2. **验证:** `qm config 140` 出现 `net2 ... tag=10`。
3. gfw 内确认新接口名:
```sh
ssh -4 root@192.168.66.1 'ip -br link'
```
- 预期出现新接口(如 `eth2`),状态 DOWN 正常。
### 9.4 迁移 gfw 的 ubunt_upg 到新接口
1. gfw 先只读确认当前绑定与 DHCP 段名:
```sh
ssh -4 root@192.168.66.1 'uci show dhcp; uci show firewall | grep -A3 ubunt_upg'
```
2. 记录现有 `ubunt_upg` 在 `firewall` 里的 zone/规则段名,以及 DHCP 里对应池段名(下面用占位符 `<zone名>` `<dhcp段名>` 替换为实际值)。
3. 把 VLAN10 地址从 `eth0.10` 迁到新接口(先在 network 里把 `eth0.10` 的 device 改到新接口名,或新增新接口段并保留 `192.168.10.1/24`、DHCP 与 zone 绑定)——**同一时刻同一地址不得同时挂在两个接口**。
4. 确认 firewall 的 `ubunt_upg` zone 的 `device`/`network` 指向新接口。
5. 验证后删除旧 `eth0.10` 段:`uci delete network.eth0_10`(段名以实际为准)→ `uci commit network`。
6. **验证:**
- PVE 管理 IP 仍在 LAN66
- gfw 内 `ip -br addr`VLAN10 地址只在新接口;
- `bridge vlan show` 与 VM NIC 配置证明其他 VM 无 VLAN10 可达性(可用 `tcpdump -ni vmbr0 vlan 10` 抓包确认只有 gfw 的帧)。
7. 未通过 → 按 §16 回滚顺序停止 VLAN10 项目。
## 10. SE5420 增加 VLAN10
1. 建 VLAN10`L2 Features → VLAN → 802.1Q VLAN → VLAN Config` → 新建 VLAN ID `10`,成员选口 2、口 3 为 **tagged** → 保存。
2. 口 2 改 trunk`Port Config` → 口 2 → Port mode `Trunk` → untagged/native VLAN `66` → tagged VLAN 仅 `10` → PVID `66` → ingress filtering 开 → 保存。
3. 口 3 改 trunk:同上(untagged 66 + tagged 10)。
4. 确认其余口不允许 VLAN10(不在 VLAN10 成员列表)。
5. 确认 VLAN10 不建 SVI/DHCP/路由:`L3 FEATURES` 无 VLAN10 接口;`DHCP` 无 10 段。
6. **保存配置。**
7. **验证:** `show vlan` VLAN10 仅在口 2/3`show interface` 口 2/3 状态正常;VLAN66 管理流量不受影响(`ping 192.168.66.253`、`ssh` 均通)。
## 11. gfw 防火墙、NAT 与 IPv6
### 11.1 先只读确认现场
```sh
ssh -4 root@192.168.66.1 '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 的 masq、`ubunt_upg` zone 段名、`ubunt_upg_nat`、`ubunt_upg_to_lan`、DHCP 段名。以下命令全部用具名段,段名以本次输出为准。
### 11.2 IPv4 策略(目标)
| 流量 | 动作 |
|---|---|
| VLAN10 → gfw DHCP、DNS | 允许 |
| VLAN10 → gfw SSH/LuCI/SNMP/其他管理服务 | 拒绝 |
| VLAN10 → LAN66、LAN55、其他 RFC1918 内网 | 拒绝 |
| VLAN10 → Internet | 允许 |
| established/related 回包 | 允许 |
### 11.3 执行(段名替换为实际值)
1. 确认 `ubunt_upg` zone 的 `forward` 保持 `REJECT`(不改 ACCEPT)。
2. **NAT 已存在,勿动:** 现场已有 `wan` zone `masq=1` + `ubunt_upg_nat``oifname eth0``192.168.10.0/24 masquerade`)。**不要**给 `ubunt_upg` zone 加 masq,也不要新增 NAT 规则。核对 `nft list ruleset` 该规则在列。
3. 不新增宽泛的 `ubunt_upg→wan` zone forwarding(会经 ER-X 放行 LAN55/其它内网)。
4. 在现有 `ubunt_upg_to_lan` 或新建具名规则里,按顺序加内网前缀拒绝(顺序在允许之前):
```sh
# 以 uci add firewall rule 创建具名段,段名唯一(如 v10_deny_lan66
# dest_ip 依次覆盖:192.168.66.0/24、192.168.55.0/24、192.168.10.0/24、
# 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 中除已列之外
# proto=all, family=ipv4, target=REJECT, src=ubunt_upg
```
5. 加"允许所需外网目的"的具名规则(`target=ACCEPT, src=ubunt_upg`family ipv4),放在拒绝之后。
6. `fw4 reload`(或 `/etc/init.d/firewall reload`)。
7. **验证(看 nft 而非 UCI):** `nft list ruleset` 中拒绝规则先于允许命中;`fw4 print` 顺序正确;`wan` masq 仍在。
### 11.4 IPv6:本阶段不提供 VLAN10 IPv6
1. 显式关闭并核验(不能靠"没配"):RA、DHCPv6、NDP relay/delegation、IPv6 forwarding 对 `ubunt_upg` 相关接口、前缀委派。
2. 现场已知:DHCPv6/RA disabled、无 IPv6 默认路由,但全局 `IPv6 forwarding=1`——启用 VLAN10 前复查 `ip -6 addr`、`sysctl net.ipv6.conf.all.forwarding`。
3. 客户端可留 link-local;不得获得 GUA/ULA、IPv6 DNS 或 IPv6 默认路由。
### 11.5 部署后验证
1. VLAN10 客户端拿 `192.168.10.x``ip route` 默认网关 `192.168.10.1`DNS 正常。
2. gfw 上 `logread`/DHCP 租约出现 VLAN10 客户端。
3. 拒绝规则命中:从测试客户端 `ping 192.168.66.1/.26/.36/.46/.254`、`192.168.55.254`、LAN55 主机 → 全不通;访问 gfw 的 22/80/443 管理口 → 拒绝。
4. NAT 命中:gfw `nft list ruleset` 中 `192.168.10.0/24 masquerade` 有 counter 增长。
5. IPv6`ip -6 addr`(客户端)除 fe80 外无地址;`curl -6` 失败。
6. 抓包工具:`apk add tcpdump`ImmortalWrt 25.12.0;勿用 opkg)。
## 12. UniFi 改网络 + 启用 SSID(最后做)
1. 在 AP 上核实 InformSSH 进 U6`ssh -4 zhiqiangf@192.168.66.6`)→ `info` → 记录 `inform_url`。不凭文档假定。
2. UniFi → Networks → 编辑 `ubnt-upg`
- Router/网关设置 → 选 **Third-party Gateway**
- VLAN ID`10`
- 子网:`192.168.10.0/24`;网关:`192.168.10.1`
- DHCP:关闭(dhcp 由 gfw 提供)。
3. **验证:** 保存后网络列表 `ubnt-upg` 显示 Third-party Gateway、VLAN 10。
4. UniFi → WiFi → `ubnt-upg` SSID → 分配设备只勾 **U6 Lite**(确保 UAP-AC-Lite 不被勾选)→ 保存。
5. 启用 `ubnt-upg` SSID(最后一步才开)。
6. 单台测试客户端连上后逐项验证:
- `ip addr``192.168.10.100~250``ip route` 默认网关 `192.168.10.1`DNS 为预期 gfw 地址;
- `nslookup` 普通/国内/海外域名均按预期解析(DNS 走 gfw/OpenClash 路径,不能直连 LAN66 `.36` DNS,除非书面允许);
- gfw 出现该客户端 DHCP 租约与 VLAN10 帧;
- `curl -4 https://www.baidu.com` 与 `curl -4 https://www.google.com` 均成功;`curl -6` 失败;
- `ping 192.168.66.1/.26/.36/.46/.254`、`192.168.55.254`、LAN55 主机 → 全不通;gfw 管理口不通;
- 代理路径:在 gfw/OpenClash 日志或按客户端源地址/五元组确认流量走代理,**不以全局 `7892` 计数增长为证明**。
7. 任一验证失败 → 先关 `ubnt-upg` SSID;主 SSID、`.254` 路径、LAN55/LAN66 不受影响。
## 13. 第二阶段验收
1. `ubnt-upg` 客户端满足 §12 第 6 步全部项。
2. gfw 侧 DHCP、拒绝规则、NAT、DNS、代理路径均关联到该测试客户端。
3. LAN55/LAN66 的 IPv6 行为与迁移前基线一致;VLAN10 无 GUA/ULA、IPv6 DNS、默认路由或 IPv6 出口(除 link-local)。
## 14. 性能实测(可选但建议)
1. 两台 2.5G 终端(如 NAS 与 windy-pc,均接 SE5420):一端 `iperf3 -s`,另一端 `iperf3 -c <对端IP>`。
2. 记录:单流、4 流结果;预期单流约 2.3–2.5Gbps(受 NIC/线材限制)。
3. 跨网段(66↔55)与 Internet 结果如实记录——预期被 ER-X 上联/宽带限制,不要按 2.5G 承诺。
## 15. 记录
- 每次实质变更后在 Linear `vps` 项目记录 scope / action / verification / 遗留 follow-up。
- 本仓库不记录 SE5420 口令、ER-X 配置快照(含 PPPoE/口令)、gfw 凭据。
- 实施前先读 `se5420-review-claim-verification-2026-08.md` 的现场只读复核结论。
## 16. 回滚
| 失败位置 | 回滚动作 |
|---|---|
| §4 台面 | 还原台面配置或恢复出厂(见下) |
| §5–7 上联/迁移 | 停手 → 刚迁的线逐根插回 ER-X 原口 → 逐根验证(IP/服务恢复、AP Connected、MAC 表回旧拓扑) |
| §9 PVE 边界 | 关 `ubnt-upg` SSID → gfw `ubunt_upg` 恢复绑 `eth0.10` → 恢复 gfw network/DHCP/firewall → 移除 VM140 新增 vNIC`qm set 140 -delete net2`)→ 恢复 VM140 配置 → **最后**恢复 PVE `/etc/network/interfaces` 重启网络 → 分别验证 PVE/dns/ubnt/gfw 的 LAN66 |
| §10 SE5420 VLAN10 | 删 VLAN10、口 2/3 恢复严格 access VLAN66 |
| §11 gfw | 恢复已备份命名规则/NAT;不触碰 LAN55/LAN66 主网规则 |
| §12 SSID | 只关 `ubnt-upg` SSID;主 SSID、`.254`、gfw 66 路径不受影响 |
**SE5420 恢复出厂(忘口令/重配):**
1. 管理本连 Type-C Console38400 8N1)。
2. 交换机断电重启;串口出现 **`Press CTRL-B to enter the bootUtil`** 时按 `Ctrl+B`。
3. 输入 **`2`**(软件复位)→ 恢复出厂;此后首次 WEB 登录创建新用户名密码(初始管理 IP 恢复 `10.18.18.251`)。
4. 恢复后按 §4 重配并保存。
## 参考
- 设计说明:[lan-erx-se5420-network.md](lan-erx-se5420-network.md)
- 评审核实:[se5420-review-claim-verification-2026-08.md](se5420-review-claim-verification-2026-08.md)
- 现网地图:[lan-overview.md](lan-overview.md)
- 官方安装手册(Markdown 版):[se5420-official-manuals/tl-se5420-install-manual.md](se5420-official-manuals/tl-se5420-install-manual.md)
- 官方 PDF<https://service.tp-link.com.cn/download/202310/TL-SE5420%20V1.0安装手册%201.0.2.pdf>
- 规格 / 固件:<https://www.tp-link.com.cn/product_2899.html?v=specification> · <https://www.tp-link.com.cn/product_2899.html?v=download>
- Omada VLAN 指南:<https://support.omadanetworks.com/en/document/12981/> · <https://support.omadanetworks.com/en/document/13135/>
- ER-X[edgerouter-x-configuration.md](edgerouter-x-configuration.md)gfw[hosts/gfw.windy.lan.md](../hosts/gfw.windy.lan.md)PVE VLAN10[lan-rb5009-upgrade.md#阶段-5-附pve-上-vlan10-透传实现-调研-2026-08-09](lan-rb5009-upgrade.md#阶段-5-附pve-上-vlan10-透传实现-调研-2026-08-09)