430 lines
28 KiB
Markdown
430 lines
28 KiB
Markdown
# SE5420 核心交换机升级操作指导(细粒度版)
|
||
|
||
**目标:** 把 LAN66/LAN55 有线接入从 ER-X 内置交换迁到 TL-SE5420;稳定后再启用 VLAN10 升级专用 SSID。
|
||
|
||
**全程三条(不再重复):**
|
||
1. 先断旧、后接新,一次一根线;同一设备不得同时接旧路径与新核心。
|
||
2. 全程保持 SE5420 Type-C Console(38400 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. 禁用不可用 SSID:UniFi → 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)
|
||
|
||
> 面板端口为**上下交错**排列:下排 = 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. 开箱与固件升级
|
||
|
||
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 登录 → 改强口令:`系统管理 → 用户管理 → 用户配置` → 修改用户名/密码 → 保存。
|
||
2. 设时区与 NTP:`系统管理 → 系统配置 → 系统时间` → 时区 `Asia/Shanghai` → NTP 服务器填 `ntp.aliyun.com`(或 `pool.ntp.org`)→ 保存。
|
||
3. 关 Telnet:`系统管理 → 安全管理 → Telnet配置` → 关闭 Enable。
|
||
- CLI 替代:`telnet disable`。
|
||
4. 关 HTTP:`系统管理 → 安全管理 → HTTP配置` → 关闭 HTTP 服务(保留 HTTPS)。
|
||
5. 开 SSH:`系统管理 → 安全管理 → SSH配置` → 启用 SSH(端口 22)。
|
||
6. 关云管理:`系统管理 → 云管理 → 全局配置` → 全局开关保持关闭(不绑定 `smbcloud.tp-link.com.cn`)。
|
||
7. **保存:** 顶部/右上角保存按钮,或 `配置保存 → 保存配置`。
|
||
8. **验证:** 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 随之对应(以界面为准)。
|
||
|
||
1. 建 VLAN66:`VLAN → 802.1Q VLAN → VLAN配置` → 新建 → VLAN ID 填 `66` → **Untagged 勾选:口 2、4、6、8、10**(Tagged 不选)→ 保存。
|
||
2. 建 VLAN55:新建 → VLAN ID 填 `55` → **Untagged 勾选:口 1、3、5、7**(Tagged 不选)→ 保存。
|
||
3. **验证:** VLAN 列表出现 66、55;VLAN1 仍在(暂不动)。
|
||
4. 建管理 SVI:`路由功能 → 接口 → 接口设置` → 创建接口 → 接口 ID `VLAN 66` → IP 地址模式 `Static` → IP `192.168.66.253`、掩码 `255.255.255.0` → 管理状态开启 → 保存。默认网关:`路由功能 → 静态路由 → IPv4静态路由条目` → 新建:目的 `0.0.0.0`、掩码 `0.0.0.0`、下一跳 `192.168.66.254`、管理距离 `1`。
|
||
5. 管理本改静态 IP `192.168.66.10/24`,网线接 SE5420 **口 6**(口 6 已在 VLAN66)。
|
||
6. **验证管理路径:**
|
||
- `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 兜底。
|
||
7. **保存配置**(右上角保存或 `配置保存 → 保存配置`)。
|
||
8. **验证:** `show vlan`:口 2/4/6/8/10 属 VLAN66,口 1/3/5/7 属 VLAN55,口 9/11/12/13/14/15/16 无成员;VLAN1 暂时还有全口成员(下一步清理)。
|
||
9. 清理 VLAN1:`VLAN → 802.1Q VLAN → VLAN配置` → 编辑 VLAN1 → 把口 1–16 从 **Untagged 勾选**中移除(保留 66 或 55 的勾选不变)→ 保存。**改 PVID 不等于移除成员。**
|
||
10. 删 VLAN1 管理 IP:`路由功能 → 接口 → 接口设置` → VLAN1 → 清空 IPv4。
|
||
11. **保存配置**。
|
||
12. **验证:** `show vlan` VLAN1 无任何成员、无管理 IP;VLAN66 管理路径仍通(SSH/HTTPS 不断)。
|
||
13. 关未用端口:`二层交换 → 端口管理 → 端口配置` → 口 9、11、12、13、14、15、16 → 端口状态 `Disabled`;并确认这些口不在任何 VLAN 的 Untagged/Tagged 勾选中。
|
||
14. 配管理 ACL:`访问控制 → ACL配置`(或 `安全管理` 下对应项,以界面为准)→ 允许源网段 `192.168.66.0/24` 访问 HTTPS/SSH(启用 SNMP 则一并限制)→ 其余拒绝 → 保存。
|
||
15. 配生成树:
|
||
- 全局配置(`生成树 → 基本配置`):功能`启用`、模式`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过滤全部保持`禁用`。
|
||
- 保存。
|
||
16. **L3 明确边界检查:** `路由功能` 确认只有 VLAN66 有接口(`路由功能 → 接口 → 接口设置` 仅 VLAN66 有 IPv4);`路由功能 → 静态路由 → IPv4静态路由条目` 只有默认路由一条(0.0.0.0→.254);`路由功能 → DHCP服务器` 与 `DHCP中继` 未启用;`路由功能 → RIP` 未启用。
|
||
17. **保存 + 导出备份:** `配置保存 → 保存配置`;`系统管理 → 系统工具 → 配置导出` → 导出配置文件到管理本(离线保存,不进仓库)。
|
||
18. **断电重启验证:** 拔电源 10 秒 → 插回 → 重启完成后 `ping 192.168.66.253` 通、HTTPS/SSH 可登录 → 证明保存生效。
|
||
|
||
### 4.4 台面完成判定
|
||
|
||
- `show vlan` 结果与 §2 端口表一致;VLAN1 空;管理仅 LAN66 可达;配置已导出。
|
||
|
||
## 5. 建立上联(维护窗开始)
|
||
|
||
1. 找到 ER-X `eth0` 当前所连的旧设备/旧交换线,**先拔掉旧线**(避免 eth0 同时连两条路径形成环路)。
|
||
2. 新线一端插 SE5420 **口 2**,另一端插 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` 口 2:Link up、速率协商正常、错误计数 0。
|
||
4. 找到 ER-X `switch0` 某成员口(eth1–eth3 任一口)的旧接线,先拔。
|
||
5. 新线一端插 SE5420 **口 1**,另一端插该 switch0 成员口。
|
||
6. **验证:**
|
||
- 从 55 网段设备(或临时给管理本加 `.55.x` 地址)`ping 192.168.55.254` → 通;
|
||
- `ping 192.168.66.46`(控制器,跨网段)→ 通;
|
||
- SE5420 `show interface` 口 1:Link up、错误计数 0。
|
||
|
||
## 6. 迁移 PVE
|
||
|
||
1. 拔 PVE `enp1s0` 旧线 → 插 SE5420 **口 4**。
|
||
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 **口 3**。
|
||
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 **口 6**(本地 PoE 注入器不动,网线只走数据)。
|
||
2. **验证:** U6 重连后拿回 `192.168.66.6`;UniFi 控制台显示 U6 Connected;Inform 与 §1.2 记录一致。
|
||
3. UAP-AC-Lite:拔旧线 → 插 SE5420 **口 5**。
|
||
4. **验证:** `192.168.55.5`;UniFi 显示 Connected。
|
||
5. 隔壁房间上联:拔旧线 → 插 SE5420 **口 7**。
|
||
- 插之前确认对端:若对端是小交换机,须满足——只有一条上联、只承载 untagged LAN55、无 VLAN trunk、无第二条路径回 ER-X/SE5420。任一项不满足则不迁移。
|
||
6. **验证:** 该网段设备拿到 `.55.x`、网关 `192.168.55.254`、DNS `192.168.66.36` 可达。
|
||
7. NAS:拔旧线 → 插 SE5420 **仅口 8**(口 12 保持断开)。
|
||
8. **验证:** NAS 拿到 `.66.x`(应为原静态 `.51` 或 reservation),`ping 192.168.66.36` 通,transmission jail 可访问。
|
||
9. 口 10 只接一台明确设备(windy-pc `.99` 或 hp-nas `.32`):拔旧线 → 插口 10。
|
||
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. UniFi:U6、AC-Lite 均 Connected,Inform 与基线一致。
|
||
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:`VLAN → 802.1Q VLAN → VLAN配置` → 新建 VLAN ID `10` → 口 4、口 6 在 **Tagged** 勾选;口 4/6 的 **Untagged** 保持 VLAN66(口 4/6 即 trunk:untagged 66 + tagged 10)→ 保存。
|
||
2. 确认其余口不允许 VLAN10(口 4/6 之外不勾选)。
|
||
3. 确认 VLAN10 不建 SVI/DHCP/路由:`路由功能 → 接口 → 接口设置` 无 VLAN10 接口;`路由功能 → DHCP服务器/DHCP中继` 无 10 段。
|
||
4. **保存配置。**
|
||
5. **验证:** `show vlan` VLAN10 仅在口 4/6;`show interface` 口 4/6 状态正常;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 上核实 Inform:SSH 进 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(`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 不可用/忘口令):**
|
||
1. 管理本连 Type-C Console(38400 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)
|