docs: finalize SE5420 deployment guide per review
- 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
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
# LAN 核心交换机升级计划(保留 ER-X)
|
# LAN 核心交换机升级计划(保留 ER-X)
|
||||||
|
|
||||||
**状态:** SE5420 **已采购**(2026-08-09)。**实施与验证以 [lan-se5420-deployment-guide.md](lan-se5420-deployment-guide.md) 为准**;
|
**状态:** SE5420 **已采购**(2026-08-09)。**实施与验证以 [lan-se5420-deployment-guide.md](lan-se5420-deployment-guide.md) 为准**;
|
||||||
本文保留为设计/阶段划分参考。
|
本文为历史规划参考,**不得作为现场执行步骤**;所有实际操作均以部署指南为准。
|
||||||
**锁定硬件:** TP-Link **`TL-SE5420`**(16 × 2.5GbE RJ45 + 4 × 10GbE SFP+)。
|
**锁定硬件:** TP-Link **`TL-SE5420`**(16 × 2.5GbE RJ45 + 4 × 10GbE SFP+)。
|
||||||
**目标:** SE5420 承接全部 LAN 物理接入与二层转发;ER-X 继续承担公网、NAT、防火墙、
|
**目标:** SE5420 承接全部 LAN 物理接入与二层转发;ER-X 继续承担公网、NAT、防火墙、
|
||||||
LAN66/LAN55 网关与 DHCP。
|
LAN66/LAN55 网关与 DHCP。
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
**状态:** SE5420 **已采购**(2026-08-09)。**实施与验证以 [lan-se5420-deployment-guide.md](lan-se5420-deployment-guide.md) 为准**;
|
**状态:** SE5420 **已采购**(2026-08-09)。**实施与验证以 [lan-se5420-deployment-guide.md](lan-se5420-deployment-guide.md) 为准**;
|
||||||
本文保留为拓扑/流量路径/职责边界的设计说明。
|
本文保留为拓扑/流量路径/职责边界的设计说明。
|
||||||
**锁定硬件:** EdgeRouter X(保留)+ TP-Link `TL-SE5420`(新建核心)。
|
**锁定硬件:** EdgeRouter X(保留)+ TP-Link `TL-SE5420`(新建核心)。
|
||||||
**本文目的:** 说明升级后物理拓扑、逻辑网络、流量路径与职责边界;实施步骤见
|
**本文目的:** 说明升级后物理拓扑、逻辑网络、流量路径与职责边界;唯一实施步骤见
|
||||||
[lan-core-switch-upgrade-plan.md](lan-core-switch-upgrade-plan.md)。
|
[lan-se5420-deployment-guide.md](lan-se5420-deployment-guide.md)。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ untagged 帧进 `eth0`;VLAN55 的 untagged 帧进 `switch0` 的某个成员口
|
|||||||
|---|---|---|
|
|---|---|---|
|
||||||
| PVE 上的 ImmortalWrt VM | 仍挂在 **untagged LAN66** | 可增 VLAN10 接口 |
|
| PVE 上的 ImmortalWrt VM | 仍挂在 **untagged LAN66** | 可增 VLAN10 接口 |
|
||||||
| OpenClash 旁路/透明代理 | 路径不变:客户端默认仍走 `.254` | 升级专用 SSID → 网关 `.1` |
|
| OpenClash 旁路/透明代理 | 路径不变:客户端默认仍走 `.254` | 升级专用 SSID → 网关 `.1` |
|
||||||
| 不能单独「做出」VLAN10 | 需 PVE vSwitch + 核心 trunk + U6 trunk | 见第 7 节 |
|
| 不能单独「做出」VLAN10 | 需 PVE vSwitch + 核心 trunk + U6 trunk | 见部署指南第二步 |
|
||||||
|
|
||||||
### 3.4 其它现网角色(地址与角色不变)
|
### 3.4 其它现网角色(地址与角色不变)
|
||||||
|
|
||||||
@@ -172,15 +172,9 @@ LAN55 ↔ LAN66 互通仍走 ER-X(现网 `LAN_IN`/`LAN_OUT` 未挂到接口时
|
|||||||
|
|
||||||
客人网与升级 SSID **分工到两台 AP**,避免一上来就做「两台 AP 同一客人 VLAN + ER-X trunk」的改造。
|
客人网与升级 SSID **分工到两台 AP**,避免一上来就做「两台 AP 同一客人 VLAN + ER-X trunk」的改造。
|
||||||
|
|
||||||
### 5.3 核心上为何仍预配 VLAN10
|
### 5.3 VLAN10 的时序与边界
|
||||||
|
|
||||||
阶段 1 可在 SE5420 上建好 VLAN10 与 trunk 模板,但:
|
第一阶段**不**在 SE5420 创建 VLAN10,也**不**把 PVE/U6 改为 trunk。VLAN10 必须在 LAN55/LAN66 稳定后,以独立维护窗完成 PVE VLAN-aware 隔离、SE5420 trunk、gfw IPv4 NAT/内网拒绝策略和 IPv6 策略;仅在这些验收通过后才启用专用 SSID。详见部署指南第二步。
|
||||||
|
|
||||||
- **不接生产终端**;
|
|
||||||
- **不改 UniFi SSID**;
|
|
||||||
- **不在 `gfw` 上启用与 ER-X 冲突的 DHCP**。
|
|
||||||
|
|
||||||
这样迁线项目与「专用升级 Wi-Fi」解耦:核心一次配好端口角色,业务另开窗口。
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -248,9 +248,9 @@
|
|||||||
|
|
||||||
**结论:** 换 RB5009 后**物理上可行**,但 RB5009 只解决「交换机侧」路径;PVE 宿主机到 `gfw` 虚拟机这一段(此前判定为不可行的关键缺口)仍必须单独打通。
|
**结论:** 换 RB5009 后**物理上可行**,但 RB5009 只解决「交换机侧」路径;PVE 宿主机到 `gfw` 虚拟机这一段(此前判定为不可行的关键缺口)仍必须单独打通。
|
||||||
|
|
||||||
**为什么今天在 AP 上做 VLAN10 会坏 66 网:**
|
**为什么当前不能在 AP 上启用 VLAN10:**
|
||||||
|
|
||||||
U6 接的是 ER-X `eth0`(untagged access,且 ER-X 交换机 `vlan-aware` 关闭)。给 SSID 打 VLAN10 后,U6 把客户端帧打成 **802.1Q tag 10** 发往 ER-X;ER-X 端口是普通 access、不处理 tag,VLAN10 帧被当作无标记帧**漏进 66 广播域**;全网只有一个 DHCP(ER-X),VLAN10 客户端拿到 `192.168.66.x`,泄漏的广播/发现干扰 66 网。这是「无 802.1Q 传输路径」的必然结果,不是 AP 配置问题。
|
U6 接的是 ER-X `eth0` 的普通 untagged LAN66 路径,尚无已验证的 VLAN10 端到端二层通道。给 SSID 选择 VLAN10 后,客户端不会获得可由 gfw 服务的预期 VLAN10 网络;帧究竟被丢弃、被设备错误处理,还是 SSID 实际没有打 tag,必须以 AP/交换机/gfw 抓包和配置核验判断。**不得**将“tagged 帧必然自动去标签并泄漏到 LAN66”作为实施前提。
|
||||||
|
|
||||||
**RB5009 下实现需要 3 个前提:**
|
**RB5009 下实现需要 3 个前提:**
|
||||||
|
|
||||||
|
|||||||
+166
-124
@@ -6,25 +6,24 @@
|
|||||||
|
|
||||||
**硬件:** TP-Link **TL-SE5420**(16× 2.5G RJ45 + 4× 10G SFP+,无 PoE),440×180×44 mm(1U)。
|
**硬件:** TP-Link **TL-SE5420**(16× 2.5G RJ45 + 4× 10G SFP+,无 PoE),440×180×44 mm(1U)。
|
||||||
**架构:** ER-X **保留**为唯一网关(PPPoE/NAT/防火墙/DHCP/双网段三层);SE5420 纯 L2 核心;
|
**架构:** ER-X **保留**为唯一网关(PPPoE/NAT/防火墙/DHCP/双网段三层);SE5420 纯 L2 核心;
|
||||||
`gfw` 旁路由(OpenClash);VLAN10 升级专用 SSID 走 gfw 网关。
|
`gfw` 旁路由(OpenClash);后续 VLAN10 升级专用 SSID走 gfw 网关。SE5420 的用户数据平面只做二层;唯一 L3 例外为 LAN66 管理 SVI 与交换机自身默认网关。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ⚠️ 两步实施总览(2026-08-09 确认)
|
## ⚠️ 两步实施总览(2026-08-09 确认)
|
||||||
|
|
||||||
**第一步(本次):只做 55/66 主网。** SE5420 初始化、ER-X 上联、PVE/AP/设备迁移、
|
**第一步(本次):只做 55/66 主网。** SE5420 初始化、ER-X 上联、PVE/AP/设备迁移、
|
||||||
验收稳定。**全程不建 VLAN10、不给口 2/3 加 tagged 10、不改 gfw、不改 UniFi `ubnt-upg`。**
|
验收稳定。除**禁用不可用的** `ubnt-upg` SSID 外,不修改其 VLAN、网络或 AP 配置;全程不建 VLAN10、不给口 2/3 加 tagged 10、不改 gfw。
|
||||||
|
|
||||||
**第二步(第一步稳定 ≥1 天后,独立窗口):整体做 VLAN10。**
|
**第二步(第一步稳定 ≥1 天后,多个独立维护窗):整体做 VLAN10。**
|
||||||
SE5420 加 VLAN10 + 口 2/3 tagged 10 → gfw 补齐 → UniFi 改 Third-party Gateway → 启用 SSID → 验证。
|
SE5420 加 VLAN10 + 口 2/3 tagged 10 → gfw 补齐 → UniFi 改 Third-party Gateway → 启用 SSID → 验证。
|
||||||
|
|
||||||
> 分离原则:**第一步与第二步不共享任何配置动作**,第一步完成后网络与升级前
|
> 分离原则:第一步完成后网络与升级前语义一致(仅同 VLAN 交换变 2.5G)。唯一例外是先禁用不可用的 `ubnt-upg` SSID;第二步才完成 VLAN10 配置并重新启用该 SSID。VLAN10 的 PVE、交换机、gfw 与 UniFi 动作分属多个维护窗,回滚互不牵连。
|
||||||
> 语义一致(仅同 VLAN 交换变 2.5G);VLAN10 全部动作集中在第二步,回滚互不牵连。
|
|
||||||
|
|
||||||
| 步骤 | 范围 | Done 判定 |
|
| 步骤 | 范围 | Done 判定 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **第一步** | SE5420 台面配置(66/55) → ER-X 上联 → 迁移 → 稳定 | 第 7 节验收前 7 条全绿 |
|
| **第一步** | SE5420 台面配置(66/55) → ER-X 上联 → 迁移 → 稳定 | 第 10 节第一阶段验收项全绿 |
|
||||||
| **第二步** | VLAN10(SE5420 + gfw + UniFi + SSID) | 第 7 节第 8 条 + 验证链全通 |
|
| **第二步** | VLAN10(SE5420 + gfw + UniFi + SSID) | 第 10 节第二阶段验收项 + 验证链全通 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -35,14 +34,14 @@ SE5420 加 VLAN10 + 口 2/3 tagged 10 → gfw 补齐 → UniFi 改 Third-party G
|
|||||||
| 项 | 实测结果 |
|
| 项 | 实测结果 |
|
||||||
|---|---|
|
|---|---|
|
||||||
| PVE 物理网卡 | **双网卡**:`enp1s0`→vmbr0(LAN66 .26),`enp2s0`→vmbr1(LAN55 .26) |
|
| PVE 物理网卡 | **双网卡**:`enp1s0`→vmbr0(LAN66 .26),`enp2s0`→vmbr1(LAN55 .26) |
|
||||||
| PVE bridge | `vmbr0` **非 vlan-aware(flat bridge)** → **天然透传 tagged 帧**给所有 VM(含 gfw eth0) |
|
| 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`(停) |
|
| 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 口 |
|
| **dns 位置** | **dns(`.36`)是 PVE 上 VM 120,非独立物理机** → 不占 SE5420 口 |
|
||||||
| **transmission 位置** | **transmission 是 NAS(FreeNAS) 内 jail(`.51`)** → 不占 SE5420 口 |
|
| **transmission 位置** | **transmission 是 NAS(FreeNAS) 内 jail(`.51`)** → 不占 SE5420 口 |
|
||||||
| gfw 虚拟网卡 | `net0`→vmbr0(66)、`net1`→vmbr1(55) |
|
| gfw 虚拟网卡 | `net0`→vmbr0(66)、`net1`→vmbr1(55) |
|
||||||
| gfw 内部 | `eth0.10`=192.168.10.1/24 已配;DHCP(100-250)已配;fw4 `ubunt_upg` 链全建;OpenClash 全局 TPROXY 在 |
|
| gfw 内部 | `eth0.10`=192.168.10.1/24 已配;DHCP(100-250)已配;fw4 `ubunt_upg` 链全建;OpenClash 全局 TPROXY 在 |
|
||||||
| gfw 缺口 | **无 `ubunt_upg→wan` 转发、无 masq**;zone `forward=REJECT` → VLAN10 现在上不了网(**第二步才补**) |
|
| gfw 缺口 | **无经核验的 `ubunt_upg→wan` 转发和出口 NAT**;zone `forward=REJECT` → VLAN10 现在上不了网(**第二步才补**) |
|
||||||
| UniFi | `ubnt-upg` 网络(VLAN10, dhcp 关) + `ubnt-upg` SSID 已存在,**且 SSID 当前 enabled(泄漏风险!)**;网络 purpose=corporate,需改 Third-party Gateway(**第二步才改**) |
|
| 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) |
|
| U6 Lite | `.66.6`,有线上联,接 ER-X eth0(untagged access) |
|
||||||
| UAP-AC-Lite | `.55.5`,有线上联 |
|
| UAP-AC-Lite | `.55.5`,有线上联 |
|
||||||
| PVE 防火墙 | 无任何自定义规则,未拦 tagged 帧 |
|
| PVE 防火墙 | 无任何自定义规则,未拦 tagged 帧 |
|
||||||
@@ -87,15 +86,15 @@ SE5420 前面板为 **8 口一排、共两排**(每排 8×RJ45,右侧 4×SFP
|
|||||||
| 2 | PVE `enp1s0`(承载 gfw/dns/ubnt VM) | access | 66 | untagged 66 |
|
| 2 | PVE `enp1s0`(承载 gfw/dns/ubnt VM) | access | 66 | untagged 66 |
|
||||||
| 3 | U6 Lite | access | 66 | untagged 66 |
|
| 3 | U6 Lite | access | 66 | untagged 66 |
|
||||||
| 4 | NAS/FreeNAS(第 1 口,含 transmission jail) | access | 66 | untagged 66 |
|
| 4 | NAS/FreeNAS(第 1 口,含 transmission jail) | access | 66 | untagged 66 |
|
||||||
| 5 | NAS/FreeNAS(第 2 口,LACP 预留) | access | 66 | untagged 66 |
|
| 5 | NAS/FreeNAS 第 2 口(仅后续 LACP 维护窗使用) | **物理断开/禁用** | — | — |
|
||||||
| 6 | windy-pc (.99) / hp-nas (.32) | access | 66 | untagged 66 |
|
| 6 | windy-pc(`.99`)**或** hp-nas(`.32`),二选一 | access | 66 | untagged 66 |
|
||||||
| 7–8 | LAN66 预留 | access | 66 | untagged 66 |
|
| 7–8 | LAN66 预留 | **administratively down** | — | — |
|
||||||
| **下排 9** | ER-X `switch0` 成员口(55 上联) | access | 55 | untagged 55 |
|
| **下排 9** | ER-X `switch0` 成员口(55 上联) | access | 55 | untagged 55 |
|
||||||
| 10 | PVE `enp2s0`(承载 haos VM) | access | 55 | untagged 55 |
|
| 10 | PVE `enp2s0`(承载 haos VM) | access | 55 | untagged 55 |
|
||||||
| 11 | UAP-AC-Lite | access | 55 | untagged 55 |
|
| 11 | UAP-AC-Lite | access | 55 | untagged 55 |
|
||||||
| 12 | 隔壁房间上联(IoT 设备) | access | 55 | untagged 55 |
|
| 12 | 隔壁房间上联(IoT 设备) | access | 55 | untagged 55 |
|
||||||
| 13 | 打印机(未来) | access | 55 | untagged 55 |
|
| 13 | 打印机(未来) | **administratively down** | — | — |
|
||||||
| 14–16 | LAN55 预留 | access | 55 | untagged 55 |
|
| 14–16 | LAN55 预留 | **administratively down** | — | — |
|
||||||
| SFP+ 1–4 | 未来 10G | 空槽 | — | — |
|
| SFP+ 1–4 | 未来 10G | 空槽 | — | — |
|
||||||
|
|
||||||
> **第二步才变更(本步不动)**:口 2、口 3 从 access 66 改为 **trunk(untagged 66 + tagged 10)**,
|
> **第二步才变更(本步不动)**:口 2、口 3 从 access 66 改为 **trunk(untagged 66 + tagged 10)**,
|
||||||
@@ -109,9 +108,10 @@ SE5420 前面板为 **8 口一排、共两排**(每排 8×RJ45,右侧 4×SFP
|
|||||||
> - **transmission(`.51`)** = NAS(FreeNAS) 内 jail,走 NAS 网口
|
> - **transmission(`.51`)** = NAS(FreeNAS) 内 jail,走 NAS 网口
|
||||||
|
|
||||||
> **第一步关键约束:**
|
> **第一步关键约束:**
|
||||||
> - 全部口为 66/55 access;**不建 VLAN10**。
|
> - 所有**启用的**业务口为 66/55 access;未使用口 administratively down;**不建 VLAN10**。
|
||||||
> - **不要**向 ER-X 送任何 VLAN10 tag(本步根本没有 VLAN10)。
|
> - **不要**向 ER-X 送任何 VLAN10 tag(本步根本没有 VLAN10)。
|
||||||
> - NAS 若启用 **LACP 聚合**:口 4/5 建端口聚合组(802.3ad),PVID 66;SE5420 需 `L2 → LAG` 配置。
|
> - NAS 本步只接**一个**网口至口 4;口 5 保持物理断开或 administratively down。LACP 是独立维护窗:先在 TrueNAS 与交换机建立同一 802.3ad LAG,将 VLAN66 配到逻辑 LAG 而非成员口,再插第二根线。LACP 提升多客户端/多连接聚合吞吐,单个 TCP 流通常仍受一条链路限制。
|
||||||
|
> - 口 5、7、8、13–16 和未使用 SFP+ 全部 administratively down;未来接入设备时,再显式配置 VLAN 并启用端口。
|
||||||
> - 禁止同一设备同时接旧路径与新核心(环路)。
|
> - 禁止同一设备同时接旧路径与新核心(环路)。
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -127,9 +127,12 @@ SE5420 前面板为 **8 口一排、共两排**(每排 8×RJ45,右侧 4×SFP
|
|||||||
- 注意核对设备底部标签的 **硬件版本 V1.0** 与固件配套;V1.x 别刷 V2 版(若后续出现)。
|
- 注意核对设备底部标签的 **硬件版本 V1.0** 与固件配套;V1.x 别刷 V2 版(若后续出现)。
|
||||||
- 升级完确认版本号,再进入后续配置。
|
- 升级完确认版本号,再进入后续配置。
|
||||||
3. 准备一条 Type-C 串口线(Console 本地登录)或普通网线(WEB 登录);一台**隔离管理本**(不用接现有 66 网)。
|
3. 准备一条 Type-C 串口线(Console 本地登录)或普通网线(WEB 登录);一台**隔离管理本**(不用接现有 66 网)。
|
||||||
4. **禁用 `ubnt-upg` SSID**(UniFi 控制台 → WiFi → `ubnt-upg` → 关 enable)。它在无路径状态下已经泄漏 tag10 到 66 网,先止血。记录 SSID 原设置以便第二步回滚。
|
4. **禁用 `ubnt-upg` SSID**(UniFi 控制台 → WiFi → `ubnt-upg` → 关 enable)。当前没有已验证的 VLAN10 端到端路径;不要把“tagged 帧会自动进入 LAN66”当作事实。记录原设置以便第二步回滚。
|
||||||
> 这是**唯一**在第一步就涉及 VLAN10 的动作——目的只是止血,与第二步的实施无关。
|
> 这是第一步唯一涉及 VLAN10 的动作,目的是移除不可用入口,而不是处置未经证实的 LAN66 泄漏。
|
||||||
5. 备份当前 ER-X 配置(过滤敏感行),并给 `hosts/gw.md`、`docs/lan-overview.md` 留改前快照。
|
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 口。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -170,20 +173,12 @@ SE5420 前面板为 **8 口一排、共两排**(每排 8×RJ45,右侧 4×SFP
|
|||||||
**在 WSL/管理本上 SSH 登录:**
|
**在 WSL/管理本上 SSH 登录:**
|
||||||
```bash
|
```bash
|
||||||
ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 \
|
ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 \
|
||||||
-o HostKeyAlgorithms=+ssh-rsa,ssh-dss \
|
-o HostKeyAlgorithms=+ssh-rsa \
|
||||||
admin@192.168.66.253
|
admin@192.168.66.253
|
||||||
# 输入口令后进 User EXEC 模式,再输入 enable 进特权模式
|
# 输入口令后进 User EXEC 模式,再输入 enable 进特权模式
|
||||||
```
|
```
|
||||||
|
|
||||||
> ⚠️ **OpenSSH 7.0+ 兼容性(官方指南)**:TP-Link 交换机旧算法默认被新版 OpenSSH 禁用,
|
> ⚠️ **旧 SSH 算法兼容性**:若交换机只支持旧算法,仅对这一次到 `192.168.66.253` 的连接使用命令行 `-o` 选项;**不要**写入全局 `~/.ssh/config`,也不要对其他主机放宽算法。将交换机管理服务限制在 LAN66,并优先使用支持现代算法的固件。
|
||||||
> 需在客户端 `~/.ssh/config` 为 `192.168.66.253` 显式启用:
|
|
||||||
> ```text
|
|
||||||
> Host 192.168.66.253
|
|
||||||
> KexAlgorithms +diffie-hellman-group1-sha1
|
|
||||||
> HostKeyAlgorithms +ssh-rsa
|
|
||||||
> PubkeyAcceptedAlgorithms +ssh-rsa
|
|
||||||
> ```
|
|
||||||
> 若 `ssh` 仍报算法协商失败,用 `-o` 逐项追加;具体以本机 OpenSSH 版本提示为准。
|
|
||||||
|
|
||||||
**关 SSH(如不需 CLI 远程管理)**:GUI `SSH Config` 关闭,或 CLI `no ip ssh server`。
|
**关 SSH(如不需 CLI 远程管理)**:GUI `SSH Config` 关闭,或 CLI `no ip ssh server`。
|
||||||
|
|
||||||
@@ -193,49 +188,64 @@ ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 \
|
|||||||
|
|
||||||
> 菜单路径来自 TP-Link 官方《Omada 802.1Q VLAN 配置指南》与《管理 VLAN 指南》(SE5420 同平台)。
|
> 菜单路径来自 TP-Link 官方《Omada 802.1Q VLAN 配置指南》与《管理 VLAN 指南》(SE5420 同平台)。
|
||||||
> 具体菜单名以设备 WEB 界面为准。**本步不建 VLAN10。**
|
> 具体菜单名以设备 WEB 界面为准。**本步不建 VLAN10。**
|
||||||
|
> **顺序原则:必须先创建二层 VLAN,才能创建/启用对应的 VLAN Interface(SVI);VLAN1 的默认管理 IP 与成员关系只能在 VLAN66 管理路径验证通过后删除。**
|
||||||
|
|
||||||
**1. 管理地址**(官方:`L3 FEATURES → Interface`,编辑 VLAN 接口的 IPv4;不是 System):
|
**1. 保持 Type-C Console 全程连接**:本流程先建二层 VLAN、后建 VLAN66 管理 SVI;全程保留 Console 与默认 VLAN1 管理路径作为兜底。SSH 会话不是回滚保障。
|
||||||
- 改为静态 **`192.168.66.253/24`**,网关 **`192.168.66.254`**(池外地址,无冲突)。
|
|
||||||
- 默认网关(官方:`L3 FEATURES → Static Routing → IPv4 Static Routing Config`):
|
|
||||||
目的 `0.0.0.0`、掩码 `0.0.0.0`、下一跳 `192.168.66.254`、距离 `1`。
|
|
||||||
- **管理 VLAN 限制**(官方指南):`Security → Access Security → Access Control` 建 IP 规则,
|
|
||||||
接口 HTTP/HTTPS,源 `192.168.66.0/24`——仅管理 VLAN 内主机可访问 GUI。
|
|
||||||
- ⚠️ 改完管理地址后,管理本网卡要改回 `192.168.66.x` 同网段(或 DHCP)才能继续登录。
|
|
||||||
|
|
||||||
**2. 建立 VLAN**(`L2 Features → VLAN → 802.1Q VLAN → VLAN Config`,**只建 66 / 55**):
|
**2. 创建 VLAN66、VLAN55**(`L2 Features → VLAN → 802.1Q VLAN → VLAN Config`,**只建 66 / 55**):
|
||||||
- 每个 VLAN 页内把端口按「tagged / untagged」勾选进成员:
|
- 先创建二层 VLAN66、VLAN55(成员端口在步骤 3 / 7 配置);**暂时保留默认 VLAN1 及其管理 IP**,在 VLAN66 管理路径验证前不要改动 VLAN1。
|
||||||
- **66**:untagged 口 1、2、3、4、5、6、7、8(本步全为 access)
|
|
||||||
- **55**:untagged 口 9、10、11、12、13、14、15、16
|
|
||||||
|
|
||||||
**3. 端口 PVID**(`L2 Features → VLAN → 802.1Q VLAN → Port Config`,逐口设 PVID):
|
**3. 选择临时验证口(例如口 6)**(`L2 Features → VLAN → 802.1Q VLAN → Port Config`):
|
||||||
- 口 1–8:PVID **66**(access)
|
- untagged VLAN66;
|
||||||
- 口 9–16:PVID **55**(access)
|
- PVID **66**。
|
||||||
- 逐口核对 tagged/untagged 归属,避免漏配。
|
- 该口仅用于本阶段验证 VLAN66 管理路径;其余口先不动。
|
||||||
|
|
||||||
**4. 关闭一切 L3 能力**:不开三层接口/SVI、不配静态路由、不开 DHCP Server/Relay;SE5420 只做二层。
|
**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. 生成树**(`L2 Features → Spanning Tree`):启用 RSTP(或 MSTP),STP 优先级设低(如 4096)——即便拓扑无环也兜底。
|
**5. 管理本接临时验证口**:管理本网线接到口 6,静态 IP 设为 **`192.168.66.10/24`**。
|
||||||
|
|
||||||
**6. 保存配置**:改完立即保存(`System → Save Config` 或右上角保存按钮),否则断电丢失。
|
**6. 验证 VLAN66 管理路径**:
|
||||||
|
- ping `192.168.66.253`;
|
||||||
|
- HTTPS 登录 WEB 管理;
|
||||||
|
- SSH 登录(若启用 CLI 远程管理);
|
||||||
|
- **保存配置后**(GUI 保存按钮或 CLI `copy running-config startup-config`)再次确认管理仍正常。
|
||||||
|
|
||||||
**7. 导出配置备份**(离线保存,**不进本仓库**)。
|
**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 台面验证(未接生产)
|
### 3.4 台面验证(未接生产)
|
||||||
1. 管理本接上排任意口(access 66):应能访问 `192.168.66.253`,且仅限 66 网段。
|
1. 管理本接一个已经启用的 VLAN66 access 口,例如口 6:应能访问 `192.168.66.253`,且仅限 LAN66 管理源。
|
||||||
2. 查看端口状态全 up;确认口 1–8 PVID=66、口 9–16 PVID=55(`show vlan` / 对应 CLI)。
|
2. 用 `show vlan` / 对应 CLI 确认:业务口只有预期的 untagged VLAN66 或 VLAN55;VLAN1 没有意外成员或管理 IP;未接线端口显示 down 属正常。
|
||||||
3. 确认**没有** VLAN10(本步应无 VLAN10 表项)。
|
3. 确认没有 VLAN10、VLAN55 没有 SVI、也没有启用全局 IP routing/RIP/DHCP Server/Relay。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 4. 第一步·阶段 2:维护窗迁移(30–60 分钟)
|
## 4. 第一步·阶段 2:维护窗迁移(30–60 分钟)
|
||||||
|
|
||||||
> 原则:**先断旧、后接新**;每次移动一根线后立即验证;全程保留 ER-X 管理会话与 PVE 会话。
|
> 原则:**先断旧、后接新**;每次移动一根线后立即验证 MAC 地址表、协商速率、错误计数和业务。全程保持 SE5420 Console;SSH 会话不是回滚保障。
|
||||||
> **本步所有口都是 66/55 access,不涉及 VLAN10。**
|
> **本步所有口都是 66/55 access,不涉及 VLAN10。**
|
||||||
|
|
||||||
### 4.0 准备
|
### 4.0 准备
|
||||||
- 打印第 1 节端口表;给所有现网线缆贴标签。
|
- 打印第 1 节端口表;给所有现网线缆贴标签。
|
||||||
- 保留现有 ER-X 原接线不动(作为回滚路径)**直到最后一步**。
|
- 为每根线记录旧端口、目标端口和明确的回插位置。
|
||||||
- 通知中断窗口;确认 ER-X 管理 SSH 与 PVE 管理 SSH 两个会话均可用(`BatchMode=yes` 测试)。
|
- 通知中断窗口;确认 Console 可用且可物理接触 ER-X、PVE、SE5420。SSH 可用于诊断,但不作为带外回滚。
|
||||||
|
|
||||||
### 4.1 建立 ER-X ↔ SE5420 两条上联
|
### 4.1 建立 ER-X ↔ SE5420 两条上联
|
||||||
1. 接 SE5420 **上排口 1 ↔ ER-X `eth0`**(LAN66 上联)。
|
1. 接 SE5420 **上排口 1 ↔ ER-X `eth0`**(LAN66 上联)。
|
||||||
@@ -248,100 +258,132 @@ ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 \
|
|||||||
### 4.2 迁移 PVE(双网卡)
|
### 4.2 迁移 PVE(双网卡)
|
||||||
1. PVE `enp1s0` → SE5420 **口 2(access 66)**。
|
1. PVE `enp1s0` → SE5420 **口 2(access 66)**。
|
||||||
2. PVE `enp2s0` → SE5420 **口 10(access 55)**。
|
2. PVE `enp2s0` → SE5420 **口 10(access 55)**。
|
||||||
3. 验证(SSH PVE):`ip -br addr` 显示 `.66.26`、`.55.26`;`ping 192.168.66.254`;`ping 192.168.55.254`。
|
3. 验证 PVE:`ip -br addr` 显示 `.66.26`、`.55.26`;分别可达 `192.168.66.254`、`192.168.55.254`。
|
||||||
4. 确认 gfw VM 两块网卡都活着:SSH gfw → `ip -br addr` → eth0(.66.1)、eth1(55)。
|
4. PVE 物理网卡迁移会同时影响 vmbr0/vmbr1 上的多台 VM;逐台验证 gfw、dns、ubnt、haos 的 IP、网关、DNS 和实际业务,不以“宿主仍开机”代替验证。
|
||||||
|
|
||||||
> PVE 是宿主,**只要 PVE 活着,gfw/dns/ubnt 虚拟机就不会断**;这是迁移 PVE 放在最先的原因。
|
|
||||||
|
|
||||||
### 4.3 迁移 AP 与接入设备
|
### 4.3 迁移 AP 与接入设备
|
||||||
1. U6 Lite → SE5420 **口 3(access 66)**。本地取电,网线只走数据。
|
1. U6 Lite → SE5420 **口 3(access 66)**。本地取电,网线只走数据。
|
||||||
- 验证:U6 拿到 `.66.6`,UniFi 控制器显示 Connected;Inform 仍 `:9080`。
|
- 验证:U6 拿到 `.66.6`,UniFi 控制器显示 Connected;其实际 Controller/Inform URL 与迁移前只读记录一致。
|
||||||
2. UAP-AC-Lite → SE5420 **口 11(access 55)**。
|
2. UAP-AC-Lite → SE5420 **口 11(access 55)**。
|
||||||
- 验证:`.55.5` Connected。
|
- 验证:`.55.5` Connected。
|
||||||
3. **隔壁房间上联 → SE5420 口 12(access 55)**。
|
3. **隔壁房间上联 → SE5420 口 12(access 55)**。
|
||||||
- 对端是 **IoT 设备**(未来会有打印机)。迁移前确认那端是单台设备还是小交换机;若对端已是一台设备,直接拔 ER-X switch0 旧口、接口 12 即可。
|
- 对端是 **IoT 设备**(未来会有打印机)。迁移前确认那端是单台设备还是小交换机;若是下级交换机,记录型号并确认:只有一条上联、只承载 untagged LAN55、没有 VLAN trunk,且没有第二条路径返回 ER-X 或 SE5420。未满足任一项不得迁移。
|
||||||
- 验证:隔壁房间 IoT 设备恢复地址(LAN55 网段)、网关 `.254`、可达 DNS `.36`。
|
- 验证:隔壁房间 IoT 设备恢复地址(LAN55 网段)、网关 `.254`、可达 DNS `.36`。
|
||||||
4. NAS/FreeNAS(含 transmission jail)→ **口 4/5**;windy-pc/hp-nas/杂项 → **口 6**(均为 access 66),逐个验证地址/DNS/业务。
|
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 与业务即可。
|
- dns/.36、ubnt/.46、gfw/.1、haos 均随 PVE 网卡迁移,**不单独插口**——只验证 PVE 后这些 VM 的 IP 与业务即可。
|
||||||
5. **旧交换/旧接线全部下电**;确认无任何设备仍走 ER-X 直连旧口(双上行=环路)。
|
5. 旧交换/旧接线仅在确认不形成并行二层路径后下电。单个终端保留 ER-X 直连不是环路;禁止的是同一下级交换机双上联、桥接双网口或同 VLAN 的并行二层路径。
|
||||||
|
|
||||||
### 4.4 全局验证(第一步 Done 判定)
|
### 4.4 全局验证(第一步 Done 判定)
|
||||||
见第 7 节验收清单前 7 条全绿。**VLAN10 完全不在本步范围。**
|
见第 10 节第一阶段验收项全绿。**VLAN10 完全不在本步范围。**
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# 第二步:VLAN10 升级专用 SSID(第一步稳定 ≥1 天后,独立窗口)
|
# 第二步:VLAN10 升级专用 SSID(第一步稳定 ≥1 天后,多个独立维护窗)
|
||||||
|
|
||||||
> **时机确认(2026-08-09):** 第一步验收前 7 条全绿、网络稳定运行 ≥1 天后,再进入本步。
|
> **放行门槛:**第一步验收前 7 条全绿、网络稳定运行 ≥1 天,且已完成本节的 PVE 边界、gfw 防火墙/NAT、IPv6 设计与只读核验。**SSID 是最后才启用的组件。** 任一步失败均不改变 LAN55/LAN66 的主网语义。
|
||||||
> 本步所有动作(SE5420 VLAN10、gfw、UniFi)互相独立但按序执行,任一步失败可单独回滚。
|
|
||||||
|
|
||||||
## 5. 第二步·阶段 1:SE5420 增加 VLAN10
|
## 5. 第二步·阶段 1:PVE VLAN10 边界(独立维护窗)
|
||||||
|
|
||||||
1. **建 VLAN10**(`L2 Features → VLAN → 802.1Q VLAN → VLAN Config`):
|
当前 `vmbr0` 是非 VLAN-aware 的共享 bridge。它可形成 VLAN10 路径,但不能证明 VLAN10 只会交付给 gfw;同 bridge 的其他 VM 理论上可消费 tagged 帧。
|
||||||
- **10**:**tagged 口 2、口 3**(只这两个,其余口不放)。
|
|
||||||
2. **口 2、口 3 改为 trunk**(`VLAN → Port Config`):
|
|
||||||
- 口 2(PVE enp1s0):PVID **66**,untagged 66 + **tagged 10**。
|
|
||||||
- 口 3(U6):PVID **66**,untagged 66 + **tagged 10**。
|
|
||||||
- 其余口不动(保持第一步的 66/55 access)。
|
|
||||||
3. **保存配置**(`System → Save Config`)。
|
|
||||||
4. **验证**:`show vlan` 确认 VLAN10 仅 tagged 口 2/3;口 2/3 的 66 流量不受影响(66 上联仍通)。
|
|
||||||
> 此时 VLAN10 无任何客户端流量(SSID 未启用),配置就位但无害。
|
|
||||||
|
|
||||||
## 6. 第二步·阶段 2:gfw 补齐 VLAN10 上网能力(SSH `root@192.168.66.1`)
|
**目标模型:**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
|
```sh
|
||||||
# 1) ubunt_upg zone 加 masq + 允许 forward
|
uci show network
|
||||||
uci set firewall.ubunt_upg.masq='1'
|
uci show firewall
|
||||||
uci set firewall.ubunt_upg.forward='ACCEPT'
|
uci show dhcp
|
||||||
uci set firewall.ubunt_upg.forward_policy='ACCEPT' # 若 fw4 版本支持
|
ip -4 route
|
||||||
# 2) 增加 ubunt_upg -> wan 转发
|
ip -6 addr
|
||||||
uci add firewall forwarding
|
ip -6 route
|
||||||
uci set firewall.@forwarding[-1].src='ubunt_upg'
|
fw4 print
|
||||||
uci set firewall.@forwarding[-1].dest='wan'
|
nft list ruleset
|
||||||
uci commit firewall
|
|
||||||
/etc/init.d/firewall reload
|
|
||||||
# 3) 确认 DHCP 已绑定(应已存在,无则补)
|
|
||||||
uci show dhcp.ubunt_upg # interface='ubunt_upg', start=100, limit=150
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> **为什么必须 masq**:VLAN10 客户端源地址 `192.168.10.x` 经 gfw 出 eth0 到 ER-X 后,
|
确认 `wan` zone 的实际接口和 NAT 状态、现有命名/匿名 forwarding、`ubunt_upg` 的 DHCP 绑定,以及 IPv6/RA/DHCPv6 状态。依据实际 section 名称创建**命名、可重复执行**的规则,不使用会重复累积的匿名 `uci add`。
|
||||||
> 若无 masq,ER-X 无法把公网回包路由回 `192.168.10.0/24`。masq 后源地址变成 66 网段。
|
|
||||||
|
|
||||||
**验证(gfw 自测,纯本地无副作用):**
|
### IPv4 目标策略
|
||||||
```sh
|
|
||||||
nft list chain inet fw4 forward_ubunt_upg # 应有 jump accept_to_wan / wan 处理
|
|
||||||
uci show firewall | grep -A2 ubunt_upg_to_wan
|
|
||||||
# 确认 eth0.10 能 ping 通自身(接口 up)
|
|
||||||
ping -c1 192.168.10.1
|
|
||||||
```
|
|
||||||
|
|
||||||
## 7. 第二步·阶段 3:UniFi 改网络 + 启用 SSID
|
| 流量 | 动作 |
|
||||||
|
|---|---|
|
||||||
|
| VLAN10 → gfw DHCP、DNS | 允许 |
|
||||||
|
| VLAN10 → gfw SSH/LuCI/SNMP/其他管理服务 | 拒绝 |
|
||||||
|
| VLAN10 → LAN66、LAN55、其他 RFC1918 内网 | 拒绝 |
|
||||||
|
| VLAN10 → Internet | 允许 |
|
||||||
|
| established/related 回包 | 允许 |
|
||||||
|
|
||||||
1. **UniFi → Networks → `ubnt-upg`**:
|
- 保持 `ubunt_upg` 的默认 forward 策略为拒绝;仅创建明确的、命名的 `ubunt_upg → wan` forwarding。
|
||||||
- 网络类型/路由器设为 **Third-party Gateway**(或 equivalent,视 9.5.21 UI),**DHCP 保持关闭**;
|
- **不要**在 `ubunt_upg` 源 zone 设置 masquerade,也不要使用 `forward_policy` 这类非标准 zone 选项。
|
||||||
- VLAN ID `10`、子网 `192.168.10.0/24`、网关 `192.168.10.1`;
|
- 先确认 `wan` 是否已经产生正确的出口 NAT;若没有,为 `192.168.10.0/24` 配置 IPv4 SNAT/MASQUERADE,使其匹配 gfw 出 LAN66 的实际出口接口/zone。
|
||||||
- **广播范围只选 U6 Lite**(勿让 UAP-AC-Lite 广播,它在 LAN55 无 VLAN10 通道)。
|
- 拒绝内网的规则必须在生成的 nftables 规则中先于通用允许路径命中;以 `fw4 print` 和 `nft list ruleset` 验证,而非仅看 UCI 文本。
|
||||||
2. **UniFi → WiFi → `ubnt-upg` enable**(广播范围仅 U6 Lite)。
|
|
||||||
3. **验证链(必须逐级):**
|
|
||||||
- a. gfw:`tcpdump -eni eth0.10` 观察——应看到来自新 SSID 客户端的 DHCP/数据帧
|
|
||||||
(`tcpdump` 若缺用 `apk add tcpdump` / `opkg update && opkg install tcpdump`)。
|
|
||||||
- b. 客户端连 `ubnt-upg` → 应获 `192.168.10.100~250`,网关 `192.168.10.1`,DNS 为 gfw(clash)。
|
|
||||||
- c. gfw:`cat /tmp/dhcp.leases | grep 192.168.10` 出现客户端租约。
|
|
||||||
- d. gfw:`nft list chain inet fw4 dstnat | grep -A1 "7892"` 计数增长 → 证明被 OpenClash 接管。
|
|
||||||
- e. 客户端能访问外网,且**不能**访问 LAN66(`Block-ubunt-upg-to-LAN66` 规则预期生效)。
|
|
||||||
4. 失败处理:只撤 SSID(enable off),不动主 SSID 与 `.254` 路径。
|
|
||||||
|
|
||||||
---
|
### IPv6 决策:本阶段明确不提供 VLAN10 IPv6
|
||||||
|
|
||||||
## 8. 回滚语义
|
- 在 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 台面配置或出厂即可 |
|
| 第一步·阶段 1 | 无生产影响;还原 SE5420 台面配置或出厂即可 |
|
||||||
| 第一步·阶段 2(维护窗内) | **停手**;把刚迁的线插回 ER-X 原口;不动 ER-X WAN/DHCP/SSH |
|
| 第一步·阶段 2(维护窗内) | **停手**;把刚迁的线插回 ER-X 原口;不动 ER-X WAN/DHCP/SSH |
|
||||||
| 第二步·阶段 1(SE5420 VLAN10) | 删 VLAN10、口 2/3 恢复 access 66 |
|
| 第二步·阶段 1(PVE VLAN-aware + VM 140/gfw 迁移) | 按本节完整回滚顺序恢复 PVE、VM 140 与 gfw 配置;停止 VLAN10 项目 |
|
||||||
| 第二步·阶段 2(gfw) | 撤 `ubunt_upg` 的 masq/forwarding,恢复原 zone |
|
| 第二步·阶段 2(SE5420 VLAN10) | 删 VLAN10、口 2/3 恢复严格 access VLAN66 |
|
||||||
| 第二步·阶段 3(SSID) | 只关 `ubnt-upg` SSID;主 SSID、`.254`、gfw 66 路径不受影响 |
|
| 第二步·阶段 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 恢复出厂(忘记口令 / 需要重配)
|
### SE5420 恢复出厂(忘记口令 / 需要重配)
|
||||||
|
|
||||||
@@ -354,26 +396,26 @@ ping -c1 192.168.10.1
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 9. 验收清单(「网络算正常」的样子)
|
## 10. 验收清单(「网络算正常」的样子)
|
||||||
|
|
||||||
**第一步 Done(前 7 条全绿):**
|
**第一步 Done(前 7 条全绿):**
|
||||||
1. SE5420 管理面:`192.168.66.253` 仅 LAN66 可达;默认口令已改;配置已离线备份。
|
1. SE5420 管理面:`192.168.66.253` 仅 LAN66 可达;默认口令已改;配置已离线备份。
|
||||||
2. LAN66:客户端 DHCP 拿 `.66.x`、网关 `.254`、DNS `.36`;外网通。
|
2. LAN66:客户端 DHCP 拿 `.66.x`、网关 `.254`、DNS `.36`;外网通。
|
||||||
3. LAN55:客户端拿 `.55.x`、网关 `.254`、DNS `.36`;跨网段互通(`.55.x ↔ .66.x`)。
|
3. LAN55:客户端拿 `.55.x`、网关 `.254`、DNS `.36`;跨网段互通(`.55.x ↔ .66.x`)。
|
||||||
4. 端口转发逐条从公网验证(hass 8123 / transmission 51413 / ssh 5822→.36:22 / openvpn 1194)。
|
4. 端口转发逐条从公网验证(hass 8123 / transmission 51413 / ssh 5822→.36:22 / openvpn 1194)。
|
||||||
5. UniFi:U6(`.66.6`) 与 AC-Lite(`.55.5`) Connected;Inform `:9080` 未变。
|
5. UniFi:U6(`.66.6`) 与 AC-Lite(`.55.5`) Connected;两台 AP 的实际 Controller/Inform URL 与迁移前只读记录一致。
|
||||||
6. 无环路、无双默认网关;端口协商与错误计数正常;旧交换已下电。
|
6. 无环路、无双默认网关;端口协商与错误计数正常;不再使用的旧交换已下电,且所有同 VLAN 并行二层路径均已拆除。
|
||||||
7. `gfw` 旁路由行为与升级前一致(主网默认网关仍 `.254`)。
|
7. `gfw` 旁路由行为与升级前一致(主网默认网关仍 `.254`)。
|
||||||
|
|
||||||
**第二步额外(第 8 条):**
|
**第二步额外(第 8 条):**
|
||||||
8. `ubnt-upg` 客户端 `192.168.10.x`、网关 `.10.1`、可上网、不可达 LAN66;gfw 侧 DHCP 租约与 OpenClash 计数可查。
|
8. `ubnt-upg` 客户端获得 `192.168.10.x`、网关 `.10.1`、预期的 gfw DNS 地址;普通/国内/海外域名均按预期解析,IPv4 可上网;不可达 LAN66、LAN55、其他内网、gfw 管理面及 LAN66 `.36` DNS(除非书面允许);gfw 侧 DHCP、拒绝规则、NAT、DNS 与代理路径均能关联到该测试客户端。
|
||||||
|
|
||||||
**贯穿:**
|
**贯穿:**
|
||||||
9. IPv6 行为与升级前一致(SE5420 纯二层不碰 IPv6)。
|
9. LAN55/LAN66 的 IPv6 行为与迁移前基线一致;VLAN10 已显式关闭并核验 RA、DHCPv6、NDP relay/delegation、IPv6 forwarding 与前缀委派;客户端除可能的 link-local 外没有 GUA/ULA、IPv6 DNS、默认路由或 IPv6 出口。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 10. 安全与记录
|
## 11. 安全与记录
|
||||||
|
|
||||||
- **本仓库永不记录**:SE5420 口令、ER-X 配置快照(含 PPPoE/口令)、gfw 凭据。
|
- **本仓库永不记录**:SE5420 口令、ER-X 配置快照(含 PPPoE/口令)、gfw 凭据。
|
||||||
- 每次实质变更后,在 Linear `vps` 项目记录 scope / action / verification / 遗留 follow-up。
|
- 每次实质变更后,在 Linear `vps` 项目记录 scope / action / verification / 遗留 follow-up。
|
||||||
@@ -382,7 +424,7 @@ ping -c1 192.168.10.1
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 11. 参考
|
## 12. 参考
|
||||||
|
|
||||||
- 设计说明:[lan-erx-se5420-network.md](lan-erx-se5420-network.md)
|
- 设计说明:[lan-erx-se5420-network.md](lan-erx-se5420-network.md)
|
||||||
- 早期阶段计划(已细化于本文):[lan-core-switch-upgrade-plan.md](lan-core-switch-upgrade-plan.md)
|
- 早期阶段计划(已细化于本文):[lan-core-switch-upgrade-plan.md](lan-core-switch-upgrade-plan.md)
|
||||||
|
|||||||
Reference in New Issue
Block a user