32 KiB
SE5420 核心交换机升级操作指导(细粒度版)
目标: 把 LAN66/LAN55 有线接入从 ER-X 内置交换迁到 TL-SE5420;稳定后再启用 VLAN10 升级专用 SSID。
全程三条(不再重复):
- 先断旧、后接新,一次一根线;同一设备不得同时接旧路径与新核心。
- 全程保持 SE5420 Type-C Console(38400 8N1)连接——SSH 会话移动其承载链路即断,不是回滚保障。
- 任一步「预期」不符 → 停止,执行 §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/,不进仓库)
- ER-X 配置快照(滤敏感行):
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无输出。
- 预期:文件非空,
- PVE 配置:
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。
- 预期:能看到
- gfw 配置:
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_upgzone、ubunt_upg_nat、ubunt_upg_to_lan。
- 预期:三个文件内容都在,且能看到
- 检查备份文件存在且可读:
ls -la /tmp/opencode/baseline-$(date +%Y%m%d)/。
1.2 记录现网状态(迁移后比对用)
- ER-X 状态:
ssh -4 zhiqiang@192.168.66.254 'show interfaces; show ip route; show dhcp server leases'- 预期:eth0/switch0 up;两条直连路由 + pppoe0 默认路由;DHCP lease 正常。
- PVE 地址:
ssh -4 root@192.168.66.26 'ip -br addr'- 预期:
vmbr0=192.168.66.26、vmbr1=192.168.55.26。
- 预期:
- gfw 关键状态:
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。
- 预期:
- 两台 AP:打开 UniFi 控制台 → Devices,记录 U6 Lite 与 UAP-AC-Lite 的 IP、Connected 状态、Inform URL。
1.3 SSID 与标签
- 禁用不可用 SSID:UniFi → WiFi → 找到
ubnt-upg→ 关闭 Enabled 开关。- 预期:开关变灰/显示 Disabled。
- 记录原设置(第二步回滚要用)。
- 给现网每根线缆贴标签:
旧设备端接口名+目标 SE5420 口,如NAS→SE5420口4、ERX-eth0→SE5420口1。 - 打印 §2 端口表放在操作位。
1.4 物料与带外
- 确认有:SE5420(核对 V1.0 型号)、原装电源线、Type-C 串口线、Cat5e 以上网线数根、标签贴。
- 管理本装「TP-LINK USB 串口驱动」(官网下载或随机光盘)。
- 终端仿真软件准备(PuTTY/串口助手/Windows Terminal),预填参数 38400 / 8 / 无校验 / 1 / 无流控。
2. 端口表(SE5420)
面板端口为上下交错排列:下排 = 1、3、5、7、9、11、13、15;上排 = 2、4、6、8、10、12、14、16(口 1 最左下,口 2 在其正上方)。 分组原则:上排全 = LAN66,下排全 = LAN55(55 在 66 下一排);ER-X 两条上联在最左相邻(口 2=66、口 1=55)。
上排 = VLAN66(口 2、4、6、8、10、12、14、16)
| SE5420 口 | 对端 | 模式 | PVID | 成员 VLAN |
|---|---|---|---|---|
| 2 | ER-X eth0(66 上联) |
access | 66 | untagged 66 |
| 4 | PVE enp1s0 |
access | 66 | untagged 66 |
| 6 | U6 Lite | access | 66 | untagged 66 |
| 8 | NAS/FreeNAS 第 1 口 | access | 66 | untagged 66 |
| 10 | windy-pc(.99)或 hp-nas(.32)二选一 |
access | 66 | untagged 66 |
| 12 | NAS 第 2 口(后续 LACP 窗用) | 物理断开 | — | — |
| 14 | LAN66 预留 | admin down | — | — |
| 16 | LAN66 预留 | admin down | — | — |
下排 = VLAN55(口 1、3、5、7、9、11、13、15)
| SE5420 口 | 对端 | 模式 | PVID | 成员 VLAN |
|---|---|---|---|---|
| 1 | ER-X switch0 成员口(55 上联) |
access | 55 | untagged 55 |
| 3 | PVE enp2s0 |
access | 55 | untagged 55 |
| 5 | UAP-AC-Lite | access | 55 | untagged 55 |
| 7 | 隔壁房间上联(IoT) | access | 55 | untagged 55 |
| 9 | 打印机(未来) | admin down | — | — |
| 11 | LAN55 预留 | admin down | — | — |
| 13 | LAN55 预留 | admin down | — | — |
| 15 | LAN55 预留 | admin down | — | — |
| SFP+ 1–4 | 最右侧 4 个 | 空槽 | — | — |
- 第一步不建 VLAN10、不向 ER-X 送任何 tag、口 4/6(PVE、U6)不做 trunk。
- NAS 只接口 8,口 12 断开(LACP 是独立维护窗)。
- 不占口的 VM:dns(.36=VM120)、ubnt(.46=VM160)、gfw(.1=VM140)、haos(.55.11=VM180);transmission(.51) 是 NAS jail。
3. 开箱与固件升级
- 核对包装型号
TL-SE5420;看设备底部标签硬件版本V1.0。 - 浏览器打开
https://www.tp-link.com.cn/product_2899.html?v=download。 - 页面「升级软件」分类下下载最新固件(已知
20230908_1.0.0,以页面为准);解压得到.bin文件。 - 管理本网线接 SE5420 任意 RJ45 口;管理本设静态 IP
10.18.18.10/24(网关留空)。 - 浏览器
http://10.18.18.251,首次登录创建用户名 + 强密码。 - WEB 里
系统管理 → 系统工具 → 软件升级 → 选择文件选固件 → 升级 → 等待重启,期间勿断电。 - 验证: 升级后
系统管理 → 系统配置 → 系统信息版本号正确;面板 SYS 灯绿色闪烁、Link/Act 闪一下后熄灭。
4. 台面初始化 SE5420(不接生产)
4.1 登录通道确认
- Console 线接 SE5420 Type-C Console 口 → 管理本 USB。
- 打开串口终端(38400/8/无/1/无流控),连按回车。
- 预期: 出现
TL-SE5420>提示符。 - 输入
enable回车,进特权模式(提示符变#或类似)。 - 若 WEB 也通(第 3 步已创建账号),记录:WEB + Console 双通道可用。
4.2 基础安全
- WEB 登录 → 改强口令:
系统管理 → 用户管理 → 用户配置→ 修改用户名/密码 → 保存。 - 设时区与 NTP:
系统管理 → 系统配置 → 系统时间→ 时区Asia/Shanghai→ NTP 服务器填ntp.aliyun.com(或pool.ntp.org)→ 保存。 - 关 Telnet:
系统管理 → 安全管理 → Telnet配置→ 关闭 Enable。- CLI 替代:
telnet disable。
- CLI 替代:
- 关 HTTP:
系统管理 → 安全管理 → HTTP配置→ 关闭 HTTP 服务(保留 HTTPS)。 - 开 SSH:
系统管理 → 安全管理 → SSH配置→ 启用 SSH(端口 22)。 - 关云管理:
系统管理 → 云管理 → 全局配置→ 全局开关保持关闭(不绑定smbcloud.tp-link.com.cn)。 - 保存: 顶部/右上角保存按钮,或
配置保存 → 保存配置。 - 验证: CLI
show running-config中 Telnet/HTTP 为 disable;管理本https://10.18.18.251能开、SSH 22 能连(此时管理 IP 仍是默认 10.18.18.251,66.253 的 HTTPS 验证在 §4.3 第 7 步做)。
4.3 VLAN 与管理地址(本步只建 66/55)
步骤顺序依据:先建二层 VLAN(勾选端口成员)→ 再建 SVI → 验证管理路径 → 才清理 VLAN1。
端口成员在 VLAN 配置界面的 Untagged/Tagged 选择器里直接勾选,无独立端口配置页。Untagged = 该 VLAN 的 access 口;PVID 随之对应(以界面为准)。
- 建 VLAN66:
VLAN → 802.1Q VLAN → VLAN配置→ 新建 → VLAN ID 填66→ Untagged 勾选:口 2、4、6、8、10(Tagged 不选)→ 保存。 - 建 VLAN55:新建 → VLAN ID 填
55→ Untagged 勾选:口 1、3、5、7(Tagged 不选)→ 保存。 - 验证: VLAN 列表出现 66、55;VLAN1 仍在(暂不动)。
- 建管理 SVI:
路由功能 → 接口 → 接口设置→ 创建接口 → 接口 IDVLAN 66→ IP 地址模式Static→ IP192.168.66.253、掩码255.255.255.0→ 管理状态开启 → 保存。默认网关:路由功能 → 静态路由 → IPv4静态路由条目→ 新建:目的0.0.0.0、掩码0.0.0.0、下一跳192.168.66.254、管理距离1。 - 管理本改静态 IP
192.168.66.10/24,网线接 SE5420 口 6(口 6 已在 VLAN66)。 - 验证管理路径:
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→ 成功。 - 全通后再进行下一步;否则停手排查(查 Untagged 勾选/PVID/接线),保持 Console 兜底。
- 保存配置(右上角保存或
配置保存 → 保存配置)。 - 验证:
show vlan:口 2/4/6/8/10 属 VLAN66,口 1/3/5/7 属 VLAN55,口 9/11/12/13/14/15/16 无成员;VLAN1 暂时还有全口成员(下一步清理)。 - 清理 VLAN1:
VLAN → 802.1Q VLAN → VLAN配置→ 编辑 VLAN1 → 把口 1–16 从 Untagged 勾选中移除(保留 66 或 55 的勾选不变)→ 保存。改 PVID 不等于移除成员。VLAN1 不可删除属正常(TP-Link 默认 VLAN),且 access 口必须属于某 untagged VLAN,GUI 会拒绝把口从 VLAN1 剔除——不必强求。做法改为:先把未用口 Disabled(第 13 步)再清 VLAN1 IP(第 10 步);disabled 口不转发流量,VLAN1 剩下无管理 IP + 全 disabled 成员 = 无管理面、无转发路径,目标达成。
- 删 VLAN1 管理 IP:
路由功能 → 接口 → 接口设置→ VLAN1 → 清空 IPv4。 - 保存配置。
- 验证:
show vlanVLAN1 无任何成员、无管理 IP;VLAN66 管理路径仍通(SSH/HTTPS 不断)。 - 关未用端口:
二层交换 → 端口管理 → 端口配置→ 口 9、11、12、13、14、15、16 及 SFP+ 17–20 → 端口状态Disabled;并确认这些口不在任何 VLAN 的 Untagged/Tagged 勾选中。口 12 是 NAS LACP 预留口,未来 LACP 维护窗需在此重新启用。 - 配管理面源限制:
系统管理 → 安全管理 → 安全配置(管理主机/管理访问,以界面为准)→ 只允许源192.168.66.0/24访问 HTTPS/SSH(启用 SNMP 则一并限制)→ 其余拒绝 → 保存。⚠️ 不要在
访问控制菜单配——那是数据面 ACL(MAC/IP ACL),管不到管理面;管理面限制在安全管理 → 安全配置。 - 配生成树:
- 全局配置(
生成树 → 基本配置):功能启用、模式RSTP、CIST优先级4096(让本机当根桥);联络时间 2 / 老化 20 / 时延 15 / 流量限制 5 / 最大跳数 20 保持默认。 - 端口配置(
生成树 → 端口配置):终端口 5、6、8、10 的「边缘端口」设启用(= PortFast);上联口 1、2、3、4、7 保持禁用。状态列显示禁用是链路未接/未启用,属正常。 - 端口保护(
生成树 → 安全配置 → 端口保护):终端口 5、6、8、10 的「BPDU保护」设启用;上联口 1、2、3、4、7 保持禁用。环路保护/根桥保护/TC保护/BPDU过滤全部保持禁用。 - 保存。
- 全局配置(
- L3 明确边界检查:
路由功能确认只有 VLAN66 有接口(路由功能 → 接口 → 接口设置仅 VLAN66 有 IPv4);路由功能 → 静态路由 → IPv4静态路由条目只有默认路由一条(0.0.0.0→.254);路由功能 → DHCP服务器与DHCP中继未启用;路由功能 → RIP未启用。 - 保存 + 导出备份:
配置保存 → 保存配置;系统管理 → 系统工具 → 配置导出→ 导出配置文件到管理本(离线保存,不进仓库)。 - 断电重启验证: 拔电源 10 秒 → 插回 → 重启完成后
ping 192.168.66.253通、HTTPS/SSH 可登录 → 证明保存生效。
4.4 台面完成判定
show vlan结果与 §2 端口表一致;VLAN1 空;管理仅 LAN66 可达;配置已导出。
5. 建立上联(维护窗开始)
- 找到 ER-X
eth0当前所连的旧设备/旧交换线,先拔掉旧线(避免 eth0 同时连两条路径形成环路)。 - 新线一端插 SE5420 口 2,另一端插 ER-X
eth0。 - 验证:
- 管理本
ping 192.168.66.253→ 通(SE5420); ping 192.168.66.254→ 通(ER-X);ping 223.5.5.5→ 通(外网);- SE5420
show interface口 2:Link up、速率协商正常、错误计数 0。
- 管理本
- 找到 ER-X
switch0某成员口(eth1–eth3 任一口)的旧接线,先拔。 - 新线一端插 SE5420 口 1,另一端插该 switch0 成员口。
- 验证:
- 从 55 网段设备(或临时给管理本加
.55.x地址)ping 192.168.55.254→ 通; ping 192.168.66.46(控制器,跨网段)→ 通;- SE5420
show interface口 1:Link up、错误计数 0。
- 从 55 网段设备(或临时给管理本加
6. 迁移 PVE
- 拔 PVE
enp1s0旧线 → 插 SE5420 口 4。 - 验证:
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'→ 通。
- 预期:
- 拔 PVE
enp2s0旧线 → 插 SE5420 口 3。 - 验证:
ip -br addr:vmbr1=192.168.55.26/24;ping -c3 192.168.55.254→ 通。
- 逐台验证 VM(顺序:gfw → dns → ubnt → haos):
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 网段)。
- gfw:
- 每个 VM 再验业务:gfw 的 OpenClash 面板/DNS 正常、dns 的 AdGuard UI 能开、ubnt 控制器 Connected、haos 界面能开。不以"宿主开机"代替。
7. 迁移 AP 与接入设备
- U6 Lite:先拔旧线 → 插 SE5420 口 6(本地 PoE 注入器不动,网线只走数据)。
- 验证: U6 重连后拿回
192.168.66.6;UniFi 控制台显示 U6 Connected;Inform 与 §1.2 记录一致。 - UAP-AC-Lite:拔旧线 → 插 SE5420 口 5。
- 验证:
192.168.55.5;UniFi 显示 Connected。 - 隔壁房间上联:拔旧线 → 插 SE5420 口 7。
- 插之前确认对端:若对端是小交换机,须满足——只有一条上联、只承载 untagged LAN55、无 VLAN trunk、无第二条路径回 ER-X/SE5420。任一项不满足则不迁移。
- 验证: 该网段设备拿到
.55.x、网关192.168.55.254、DNS192.168.66.36可达。 - NAS:拔旧线 → 插 SE5420 仅口 8(口 12 保持断开)。
- 验证: NAS 拿到
.66.x(应为原静态.51或 reservation),ping 192.168.66.36通,transmission jail 可访问。 - 口 10 只接一台明确设备(windy-pc
.99或 hp-nas.32):拔旧线 → 插口 10。 - 验证: 该设备拿
.66.x、上网正常。 - 确认没有并行二层路径后,旧交换/旧接线下电、收线。
8. 第一阶段验收(全绿才进第二阶段)
- SE5420:
ping 192.168.66.253通,且从 55 网段不通(依赖 §4.3 第 14 步管理面源限制已配;若 ACL 未生效,从 55 网段经 ER-X 路由仍可达 .253——此条不通过则回查 ACL);默认口令已改;配置已离线备份。 - LAN66 客户端:
ip addr是.66.x、路由default via 192.168.66.254、DNS192.168.66.36;ping 223.5.5.5通。 - LAN55 客户端:
.55.x、default via 192.168.55.254;LAN55↔LAN66 互通(如ping 192.168.66.46)。 - 端口转发:从公网(手机流量)逐条验——hass
:8123、transmission:51413、ssh:5822→.36:22、openvpn:1194。 - UniFi:U6、AC-Lite 均 Connected,Inform 与基线一致。
- SE5420
show interface:所有在用口无 CRC/FCS/错误计数增长;ER-X 无广播风暴/ MAC 漂移日志;旧交换已断电。 - 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 快照与备份(在 PVE 上执行:SSH ssh -4 root@192.168.66.26 进入或本地终端)
- 取只读快照(逐条执行并保存输出):
cat /etc/network/interfaces qm config 140 bridge vlan show bridge link ip -d link show vmbr0 pveversion -v - 备份(同 §1.1 目录):PVE
/etc/network/interfaces、/etc/pve/qemu-server/140.conf;gfw/etc/config/{network,dhcp,firewall}。 - 确认本地 Console/带外路径可用;无完整备份和回滚能力则停止。
9.2 改造 vmbr0 为 VLAN-aware(以 §9.1 快照为准)
- 编辑
/etc/network/interfaces(PVE 本机nano /etc/network/interfaces)。 - 在 vmbr0 定义段加两行:
bridge-vlan-aware yes bridge-vids 10 66bridge-vids只放行需要的 tagged VLAN:10(gfw VLAN10 帧)+66(显式声明 native)。不要写2-4094全放行;将来加 VLAN 再扩展此列表。 ⚠️bridge-vids必须加在 vmbr0 段,不是enp1s0段——enp1s0 只是bridge-ports成员;加错位置 VLAN10 无法上 bridge。 - 不要改动
bridge-ports enp1s0、现有 tap 口或vmbr1;现有 VM 的无标签语义(untagged/PVID)保持不变。 - 应用:优先
ifreload -a(PVE 用 ifupdown2,只应用变更);不要用systemctl restart networking(会重载全部接口)。⚠️
ifreload会断当前 SSH 连接(管理本重连即可),ip -br addr重新验证。 - 验证(关键):
ssh -4 root@192.168.66.26 'ip -br addr'显示.66.26仍在;ping 192.168.66.254通;dns(.36)/ubnt(.46)/gfw(.1) 仍通。任一断 → 立即恢复备份的 interfaces 文件并ifreload -a。 bridge vlan show确认现有 tap 口、物理口的 PVID/untagged 与迁移前一致,只是多出 tag 10 的允许。
9.3 为 gfw 加 tag=10 专用 vNIC
- PVE 上给 VM140 加网卡(从管理本执行,bus 用下一个空闲值,记下 MAC):
ssh -4 root@192.168.66.26 'qm set 140 -net2 virtio,bridge=vmbr0,tag=10' - 验证:
qm config 140出现net2 ... tag=10。 - gfw 内确认新接口名:
ssh -4 root@192.168.66.1 'ip -br link'- 预期出现新接口(如
eth2),状态 DOWN 正常。
- 预期出现新接口(如
9.4 迁移 gfw 的 ubunt_upg 到新接口
- gfw 先只读确认当前绑定与 DHCP 段名:
预期:
ssh -4 root@192.168.66.1 'uci show network; uci show dhcp'network.ubunt_upg.device='eth0.10'、dhcp.ubunt_upg.interface='ubunt_upg'(按接口名绑定)。 - 最小迁移——只改 device 一行(gfw 上执行):
ifdown ubunt_upg uci set network.ubunt_upg.device='eth2' uci commit network ifup ubunt_upgeth0.10不再被引用会自动消失,无需手动删段;DHCP 池dhcp.ubunt_upg.interface='ubunt_upg'按接口名绑定,自动跟着走。 - 验证: gfw 内
ip -br addr→eth2拿192.168.10.1/24UP、eth0.10消失、eth0仍.66.1。 - 确认 firewall
ubunt_upgzone 按network='ubunt_upg'绑定(改 device 后 zone/DHCP/NAT/规则自动跟随)。 - 验证:
- PVE 管理 IP 仍在 LAN66;
bridge vlan show确认其他 VM 无 VLAN10 可达性(tap140i2显示10 PVID Egress Untagged;dns/ubnt 等 tap 仍只有 PVID 1)。
- 未通过 → 按 §16 回滚顺序停止 VLAN10 项目。
10. SE5420 增加 VLAN10
关键:口 4/6 是 access 口时,VLAN10 的 Tagged 选择器里会显示不可选——必须先在本步第 1 步把口 4/6 改成 trunk,才能勾 Tagged。改 trunk 后口 4/6 会从 VLAN66 untagged 成员中被移除,需在第 3 步恢复。
- 改口 4/6 为 trunk:
VLAN → 802.1Q VLAN → 端口配置→ 口 4、口 6 → 端口类型ACCESS→TRUNK→ PVID 改66(改 TRUNK 后默认 PVID 变 1,必须改回 66)→ 保存。 - 验证: 端口配置页口 4/6 显示
TRUNK+ PVID66。 - 恢复 VLAN66 成员: 改 trunk 后口 4/6 从 VLAN66 untagged 被移除 →
VLAN → 802.1Q VLAN → VLAN配置→ 编辑 VLAN66 → Untagged 重新勾选口 4、口 6 → 保存。确认 VLAN66 = 口 2、4、6、8、10。 - 建 VLAN10:
VLAN → 802.1Q VLAN → VLAN配置→ 新建 VLAN ID10→ Tagged 勾选:口 4、口 6(Untagged 不勾)→ 保存。口 4/6 即 trunk:untagged 66 + tagged 10。 - 确认其余口不允许 VLAN10(口 4/6 之外不勾选)。
- 确认 VLAN10 不建 SVI/DHCP/路由:
路由功能 → 接口 → 接口设置无 VLAN10 接口;路由功能 → DHCP服务器/DHCP中继无 10 段。 - 保存配置:
配置保存 → 保存配置。 - 验证(静态链路):
- SE5420
show vlan:VLAN10 仅在口 4/6;VLAN66 仍是口 2、4、6、8、10。 - PVE
bridge vlan show:enp1s0允许 10 + 66;tap140i2显示10 PVID Egress Untagged。 ping 192.168.66.253、ssh均通(VLAN66 管理流量不受影响)。-
注:此时抓不到 VLAN10 帧是正常的——还没有客户端(SSID 未启用);真正流量验证在 §12 启用 SSID 后。
- SE5420
11. gfw 防火墙、NAT 与 IPv6
11.1 先只读确认现场
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'
- 记录
wanzone 的 masq、ubunt_upgzone 段名、ubunt_upg_nat、ubunt_upg_to_lan、DHCP 段名。以下命令全部用具名段,段名以本次输出为准。
11.1b 现场已核实规则(2026-08 实施时确认存在,无需重建)
| 段名 | 类型 | 作用 |
|---|---|---|
firewall.ubunt_upg |
zone | network='ubunt_upg',input/forward=REJECT、output=ACCEPT |
ubunt_upg_dhcp |
rule | VLAN10 → UDP 67 允许(DHCP) |
ubunt_upg_dns |
rule | VLAN10 → TCP/UDP 53 允许(DNS) |
ubunt_upg_block_lan66 |
rule | VLAN10 → 192.168.66.0/24 REJECT |
ubunt_upg_to_lan |
forwarding | src=ubunt_upg → dest=lan |
ubunt_upg_nat |
nat | src=lan、src_ip=192.168.10.0/24、target MASQUERADE(出口走 lan 即 eth0/LAN66) |
待补缺口: 只有
192.168.66.0/24被拒,LAN55 和其余 RFC1918 无显式拒绝——VLAN10 经 ER-X 仍可达192.168.55.0/24(haos/IoT/AP)等内网,必须在 §11.3 补齐。
11.2 IPv4 策略(目标)
| 流量 | 动作 |
|---|---|
| VLAN10 → gfw DHCP、DNS | 允许 |
| VLAN10 → gfw SSH/LuCI/SNMP/其他管理服务 | 拒绝 |
| VLAN10 → LAN66、LAN55、其他 RFC1918 内网 | 拒绝 |
| VLAN10 → Internet | 允许 |
| established/related 回包 | 允许 |
11.3 执行(段名替换为实际值)
- 确认
ubunt_upgzone 的forward保持REJECT(不改 ACCEPT)。 - NAT 已存在,勿动: 现场已有
wanzonemasq=1+ubunt_upg_nat(src=lan、src_ip=192.168.10.0/24masquerade)。不要给ubunt_upgzone 加 masq,也不要新增 NAT 规则。核对nft list ruleset该规则在列。 - 不新增宽泛的
ubunt_upg→wanzone forwarding(会经 ER-X 放行 LAN55/其它内网)。 - 补内网前缀拒绝(LAN55、10/8、172.16/12;
192.168.0.0/16已被 66/55/10 三段覆盖,无需再加)。⚠️ 每条必须写dest='lan'——否则 fw4 会把规则放进input_ubunt_upg(进 gfw 本机方向)而非forward_ubunt_upg(VLAN10→其他网段转发),dest_ip永远不命中、等于没配:# LAN55 uci add firewall rule uci set firewall.@rule[-1].name='v10_deny_lan55' uci set firewall.@rule[-1].src='ubunt_upg' uci set firewall.@rule[-1].dest='lan' uci set firewall.@rule[-1].dest_ip='192.168.55.0/24' uci set firewall.@rule[-1].target='REJECT' uci set firewall.@rule[-1].proto='all' uci set firewall.@rule[-1].family='ipv4' # 10/8 uci add firewall rule uci set firewall.@rule[-1].name='v10_deny_10net' uci set firewall.@rule[-1].src='ubunt_upg' uci set firewall.@rule[-1].dest='lan' uci set firewall.@rule[-1].dest_ip='10.0.0.0/8' uci set firewall.@rule[-1].target='REJECT' uci set firewall.@rule[-1].proto='all' uci set firewall.@rule[-1].family='ipv4' # 172.16/12 uci add firewall rule uci set firewall.@rule[-1].name='v10_deny_172net' uci set firewall.@rule[-1].src='ubunt_upg' uci set firewall.@rule[-1].dest='lan' uci set firewall.@rule[-1].dest_ip='172.16.0.0/12' uci set firewall.@rule[-1].target='REJECT' uci set firewall.@rule[-1].proto='all' uci set firewall.@rule[-1].family='ipv4' uci commit firewall fw4 reload - 验证(看 nft 而非 UCI):
nft list ruleset | grep -A6 "chain forward_ubunt_upg"应显示拒绝规则全部在forward_ubunt_upg链且先于accept_to_lan;wanmasq 仍在。若拒绝规则出现在input_ubunt_upg链 → 说明漏了dest='lan',回去补。 - IPv6 核验:
ip -6 addr show eth2只有fe80::;dhcp.ubunt_upg的ra='disabled'、dhcpv6='disabled'→ VLAN10 无 GUA/ULA、无 IPv6 DNS/路由/出口。
11.4 IPv6:本阶段不提供 VLAN10 IPv6
- 显式关闭并核验(不能靠"没配"):RA、DHCPv6、NDP relay/delegation、IPv6 forwarding 对
ubunt_upg相关接口、前缀委派。 - 现场已知:DHCPv6/RA disabled、无 IPv6 默认路由,但全局
IPv6 forwarding=1——启用 VLAN10 前复查ip -6 addr、sysctl net.ipv6.conf.all.forwarding。 - 客户端可留 link-local;不得获得 GUA/ULA、IPv6 DNS 或 IPv6 默认路由。
11.5 部署后验证
- 链归属(已实测):
nft list ruleset | grep -A6 "chain forward_ubunt_upg"确认 66/55/10/172 四条拒绝在 forward 链、先于accept_to_lan;192.168.10.0/24 masquerade仍在(§11.3 第 5 步已验)。 - IPv6(已实测):
ip -6 addr show eth2仅fe80::;dhcp.ubunt_upg.ra='disabled'+dhcpv6='disabled';odhcpd 不服务 eth2(§11.4 已验)。 - VLAN10 客户端拿
192.168.10.x,ip route默认网关192.168.10.1,DNS 正常(SSID 启用后验)。 - gfw 上
logread/DHCP 租约出现 VLAN10 客户端(SSID 启用后验)。 - 拒绝规则命中:从测试客户端
ping 192.168.66.1/.26/.36/.46/.254、192.168.55.254、LAN55 主机 → 全不通;访问 gfw 的 22/80/443 管理口 → 拒绝(SSID 启用后验)。 - NAT 命中:gfw
nft list ruleset中192.168.10.0/24 masquerade有 counter 增长(SSID 启用后验)。 - 抓包工具:
apk add tcpdump(ImmortalWrt 25.12.0;勿用 opkg)。
12. UniFi 改网络 + 启用 SSID(最后做)
- 在 AP 上核实 Inform:SSH 进 U6(
ssh -4 zhiqiangf@192.168.66.6)→info→ 记录inform_url。不凭文档假定。 - UniFi → Networks → 编辑
ubnt-upg:- Router/网关设置 → 选 Third-party Gateway;
- VLAN ID:
10; - 子网:
192.168.10.0/24;网关:192.168.10.1; - DHCP:关闭(dhcp 由 gfw 提供)。
- 验证: 保存后网络列表
ubnt-upg显示 Third-party Gateway、VLAN 10。 - UniFi → WiFi →
ubnt-upgSSID → 分配设备只勾 U6 Lite(确保 UAP-AC-Lite 不被勾选)→ 保存。 - 启用
ubnt-upgSSID(最后一步才开)。 - 单台测试客户端连上后逐项验证:
ip addr:192.168.10.100~250;ip route默认网关192.168.10.1;DNS 为预期 gfw 地址;nslookup普通/国内/海外域名均按预期解析(DNS 走 gfw/OpenClash 路径,不能直连 LAN66.36DNS,除非书面允许);- 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计数增长为证明。
- 任一验证失败 → 先关
ubnt-upgSSID;主 SSID、.254路径、LAN55/LAN66 不受影响。
13. 第二阶段验收
ubnt-upg客户端满足 §12 第 6 步全部项。- gfw 侧 DHCP、拒绝规则、NAT、DNS、代理路径均关联到该测试客户端。
- LAN55/LAN66 的 IPv6 行为与迁移前基线一致;VLAN10 无 GUA/ULA、IPv6 DNS、默认路由或 IPv6 出口(除 link-local)。
14. 性能实测(可选但建议)
- 两台 2.5G 终端(如 NAS 与 windy-pc,均接 SE5420):一端
iperf3 -s,另一端iperf3 -c <对端IP>。 - 记录:单流、4 流结果;预期单流约 2.3–2.5Gbps(受 NIC/线材限制)。
- 跨网段(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 并 ifreload -a → 分别验证 PVE/dns/ubnt/gfw 的 LAN66 |
| §10 SE5420 VLAN10 | 删 VLAN10(VLAN → 802.1Q VLAN → VLAN配置 删除 VLAN10),口 4/6 恢复 Untagged 仅 VLAN66、Tagged 清空 |
| §11 gfw | 恢复已备份命名规则/NAT;不触碰 LAN55/LAN66 主网规则 |
| §12 SSID | 只关 ubnt-upg SSID;主 SSID、.254、gfw 66 路径不受影响 |
SE5420 恢复出厂(忘口令/重配):
- WEB 方式:
系统管理 → 系统工具 → 软件复位(若还能登录 GUI)。 - Console 方式(WEB 不可用/忘口令):
- 管理本连 Type-C Console(38400 8N1)。
- 交换机断电重启;串口出现
Press CTRL-B to enter the bootUtil时按Ctrl+B。 - 输入
2(软件复位)→ 恢复出厂;此后首次 WEB 登录创建新用户名密码(初始管理 IP 恢复10.18.18.251)。 - 恢复后按 §4 重配并保存。
参考
- 设计说明:lan-erx-se5420-network.md
- 评审核实:se5420-review-claim-verification-2026-08.md
- 现网地图:lan-overview.md
- 官方安装手册(Markdown 版):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;gfw:hosts/gfw.windy.lan.md;PVE VLAN10:lan-rb5009-upgrade.md#阶段-5-附pve-上-vlan10-透传实现-调研-2026-08-09