- 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
398 lines
21 KiB
Markdown
398 lines
21 KiB
Markdown
# ER-X → RB5009 网关升级:网络形态与实施计划
|
||
|
||
**状态:** 规划文档(未采购、未接线、未改生产配置)。
|
||
**重要变更(2026-08-09):** **SE5420 已采购**,网络升级改为「保留 ER-X + SE5420 核心」路径——
|
||
实施与验证以 [lan-se5420-deployment-guide.md](lan-se5420-deployment-guide.md) 为准。
|
||
本文保留为「ER-X 网关未来替换为 RB5009」的备选方案;其中 PVE 透传调研与 VLAN10 实现方法仍适用。
|
||
|
||
---
|
||
|
||
## 1. 一句话架构
|
||
|
||
```text
|
||
公网 ← RB5009(主网关:PPPoE / NAT / 防火墙 / DHCP / IPv6 / VLAN 66+55 三层)
|
||
↑ 全部终端 / AP / PVE 直连其 8×1G 端口
|
||
(SFP+ 空槽,为未来 10G 核心预留)
|
||
```
|
||
|
||
- **RB5009** 兼任路由与 LAN 二层交换:所有接入设备直插 RB5009 端口。
|
||
- 客户端默认网关仍是 **`.254`**(RB5009 沿用 ER-X 地址,客户端零感知)。
|
||
- **`gfw`** 仍为旁路由(默认网关 `.254`);OpenClash 行为不变。
|
||
- **ER-X 升级后下电闲置,作为已配置的备件保存**(回滚路径)。
|
||
- 2.5G/10G 同 VLAN 交换目标**放弃**(无 SE5420);LAN 二层为 1G。
|
||
|
||
---
|
||
|
||
## 2. 已确认的设计决策
|
||
|
||
| 决策 | 结论 |
|
||
|---|---|
|
||
| 角色 | RB5009 单机:路由 + LAN 交换 + 双 VLAN 三层 |
|
||
| WAN | **PPPoE**,走 **`ether1`(2.5G 铜口接 ONT/光猫)**,MTU 1492 |
|
||
| LAN 模型 | **单 bridge + VLAN 过滤**:VLAN 66(多数端口)+ VLAN 55;VLAN 10 预留 |
|
||
| 网关地址 | **沿用 `192.168.66.254` / `192.168.55.254`**;重编址另立项目 |
|
||
| IPv6 | **保留对等**:PPPoE 上 DHCPv6-PD `/60` + 双 LAN SLAAC `/64` + IPv6 防火墙 |
|
||
| 端口转发 | 4 条 **原样迁入**(hass / transmission / ssh / openvpn)+ hairpin NAT |
|
||
| LAN55 成员 | **保持现状**(AC-Lite、Aqara 及原 LAN55 设备)不迁到 VLAN66 |
|
||
| 管理面 | SSH **仅密钥**(`zhiqiang`);禁用默认 `admin`;**禁 Winbox/API/WebFig** 或仅限 LAN |
|
||
| 迁移方式 | 台面预配置(临时 `.253`)→ 维护窗(30–60 分钟)→ 验证 → ER-X 留作备件 |
|
||
| 固件/备份 | 当前稳定 RouterOS 7.x;上线前 `.backup` + 文本导出存离线 |
|
||
| 时区/NTP | `Asia/Shanghai` + 现有 NTP 服务器 |
|
||
| 安全 | PPPoE 口令、SSH 私钥、`zhiqiang` 口令**只存设备上**,不落本仓库 |
|
||
|
||
---
|
||
|
||
## 3. 升级后的网络形态(拓扑图)
|
||
|
||
### 3.1 目标物理拓扑(升级完成后)
|
||
|
||
```text
|
||
Internet
|
||
│ PPPoE (ether1 2.5G, MTU 1492, IPv6 PD /60)
|
||
▼
|
||
┌──────────────────────────────────────────────┐
|
||
│ RB5009 (gw) RouterOS 7.x │
|
||
│ ether1 = WAN (PPPoE) │
|
||
│ bridge + vlan-filtering=yes │
|
||
│ vlan66 = 192.168.66.254/24 (pvid 66) │
|
||
│ vlan55 = 192.168.55.254/24 (pvid 55) │
|
||
│ SFP+ = 空槽(未来 10G) │
|
||
│ SSH-only 管理(仅 LAN) │
|
||
└─────┬─────────┬──────────┬──────────┬────────┘
|
||
│ pvid66 │ pvid66 │ pvid66 │ pvid55
|
||
│ │ │ │
|
||
gfw (.1) dns (.36) ubnt (.46) UAP-AC-Lite (.55.5)
|
||
PVE (.26) NAS/PC… U6 Lite Aqara (.55.248)
|
||
(.66.6)
|
||
```
|
||
|
||
端口角色以面板为准;下表是建议预留:
|
||
|
||
| RB5009 端口 | 对端 | 模式 |
|
||
|---|---|---|
|
||
| `ether1` | ONT/光猫 | WAN,PPPoE |
|
||
| `ether2`–`ether8` | PVE/gfw、dns、ubnt、U6 Lite、NAS、PC、杂项 | access,pvid 66 |
|
||
| `ether9` | 原 LAN55 成员(AC-Lite、Aqara…) | access,pvid 55 |
|
||
| SFP+ `sfp-sfpplus1` | 未来 10G 核心 | 空槽 |
|
||
|
||
> **禁止双上行:** 任一设备不得同时接旧 ER-X 与 RB5009(环路 / 双默认网关)。
|
||
|
||
### 3.2 逻辑网络
|
||
|
||
| VLAN | 子网 | 网关 / DHCP | 形态 | 成员 |
|
||
|---|---|---|---|---|
|
||
| **66** | `192.168.66.0/24` | RB5009 `vlan66` `.254` | 多数端口 access | gfw、dns、ubnt、U6、PVE、NAS、PC… |
|
||
| **55** | `192.168.55.0/24` | RB5009 `vlan55` `.254` | `ether9` access | AC-Lite、Aqara…(原 LAN55 全量) |
|
||
| 10(预留) | `192.168.10.0/24` | 未来(`gfw`) | 暂不配业务 | 升级专用 SSID(后续项目) |
|
||
|
||
- 客户端 DNS:DHCP 仍下发 **`192.168.66.36`**(AdGuard Home)。
|
||
- UniFi Inform 仍为 `http://192.168.66.46:9080/inform`。
|
||
- LAN66 ↔ LAN55 互通由 RB5009 三层转发(沿用现网默认可达语义,防火墙不设隔离边界)。
|
||
|
||
### 3.3 流量怎么走
|
||
|
||
```text
|
||
同 VLAN(NAS ↔ PC): 客户端 → RB5009 端口 → bridge(二层交换,1G)
|
||
跨 VLAN(66 ↔ 55): 客户端 → RB5009 路由(vlan66 ↔ vlan55,1G)
|
||
上网: 客户端 → RB5009 → PPPoE → Internet(限速 = 线路;RB5009 fasttrack 去掉 ER-X ~900M 天花板)
|
||
旁路由: 默认网关仍 `.254`;显式代理走 gfw(不变)
|
||
未来 VLAN10: U6 trunk → RB5009 →(转发 VLAN10)→ gfw(后续项目)
|
||
```
|
||
|
||
### 3.4 性能预期(诚实边界)
|
||
|
||
| 场景 | 预期 |
|
||
|---|---|
|
||
| WAN / PPPoE | 线路速率以内;若线路 >1G,RB5009 fasttrack 可跑满(ER-X 受 900M 限制) |
|
||
| 同 VLAN 交换 | **1G**(无 SE5420;RB5009 8×1G) |
|
||
| 跨 VLAN | 1G 级三层 |
|
||
| SFP+ 空槽 | 不等于已是 10G |
|
||
|
||
---
|
||
|
||
## 4. 分阶段实施计划
|
||
|
||
### 阶段 0:采购前核验
|
||
|
||
1. 确认 RB5009 revision、保修、零售渠道、RouterOS 当前稳定版本号(建议 7.x 最新 stable)。
|
||
2. 确认硬件:1× 2.5G PoE-in(ether1)、8× 1G、1× SFP+、1GB RAM。SFP+ 模块本次不买。
|
||
3. 盘点线缆与对端:ONT ↔ ether1;原 LAN55 设备清单(AC-Lite、Aqara…)及原 ER-X `switch0` 接线。
|
||
|
||
### 阶段 1:离线初始化(台面)
|
||
|
||
1. 仅电源 + 隔离管理本。设置身份、时区 `Asia/Shanghai`、NTP。
|
||
2. 建 `zhiqiang` 管理用户(**密钥登录,禁密码**);**删除/禁用默认 `admin`**。
|
||
3. 建 bridge + VLAN 66/55 + 端口模板(`ether2–8` pvid66,`ether9` pvid55);**临时地址 `.253`**(不与 ER-X `.254` 冲突)。
|
||
4. 配 WAN PPPoE(ether1)、默认路由、NAT masquerade、4 条端口转发 + hairpin、防火墙(input/forward)、MSS clamp、IPv6 PD + SLAAC + IPv6 防火墙。
|
||
5. 配 DHCP 池 `.38–.243`、24h 租约、DNS `.36`、UniFi Inform 选项、**静态映射全量照搬**。
|
||
6. 管理面收口:**禁 Winbox(8291)/ API(8728)/ WebFig(80/443)**;SSH 仅限 LAN66/55。
|
||
7. `system backup save` + `/export`,导出到离线存储(**不落仓库**)。
|
||
|
||
**参考 RouterOS 配置骨架**(口令/密钥用占位符;落地前逐一核对):
|
||
|
||
```text
|
||
# 身份 / 时区 / NTP
|
||
/system identity set name=gw
|
||
/system clock set time-zone-name=Asia/Shanghai
|
||
|
||
# WAN
|
||
/interface ethernet set ether1 name=wan
|
||
/interface pppoe-client add name=pppoe0 interface=wan user=<PPPoE_USER> \
|
||
password=<PPPoE_PASS> add-default-route=yes use-peer-dns=no \
|
||
mtu=1492 mru=1492
|
||
|
||
# bridge + VLAN
|
||
/interface bridge add name=bridge66 vlan-filtering=yes
|
||
/interface bridge port add bridge=bridge66 interface=ether2 pvid=66
|
||
... # ether3..ether8 同 pvid 66
|
||
/interface bridge port add bridge=bridge66 interface=ether9 pvid=55
|
||
/interface bridge vlan add bridge=bridge66 vlan-ids=66 tagged=bridge66
|
||
/interface bridge vlan add bridge=bridge66 vlan-ids=55 tagged=bridge66
|
||
/interface vlan add name=vlan66 interface=bridge66 vlan-id=66
|
||
/interface vlan add name=vlan55 interface=bridge66 vlan-id=55
|
||
|
||
# 地址(台面先用 .253,维护窗切 .254)
|
||
/ip address add address=192.168.66.254/24 interface=vlan66
|
||
/ip address add address=192.168.55.254/24 interface=vlan55
|
||
|
||
# NAT masquerade + 端口转发 + hairpin
|
||
/ip firewall nat add chain=srcnat out-interface=pppoe0 action=masquerade
|
||
/ip firewall nat add chain=dstnat in-interface=pppoe0 protocol=tcp dst-port=8123 \
|
||
action=dst-nat to-addresses=192.168.55.11 to-ports=8123
|
||
/ip firewall nat add chain=dstnat in-interface=pppoe0 protocol=tcp dst-port=51413 \
|
||
action=dst-nat to-addresses=192.168.66.51 to-ports=51413
|
||
/ip firewall nat add chain=dstnat in-interface=pppoe0 protocol=udp dst-port=51413 \
|
||
action=dst-nat to-addresses=192.168.66.51 to-ports=51413
|
||
/ip firewall nat add chain=dstnat in-interface=pppoe0 protocol=tcp dst-port=5822 \
|
||
action=dst-nat to-addresses=192.168.66.36 to-ports=22
|
||
/ip firewall nat add chain=dstnat in-interface=pppoe0 protocol=udp dst-port=5822 \
|
||
action=dst-nat to-addresses=192.168.66.36 to-ports=22
|
||
/ip firewall nat add chain=dstnat in-interface=pppoe0 protocol=tcp dst-port=1194 \
|
||
action=dst-nat to-addresses=192.168.66.32 to-ports=1194
|
||
/ip firewall nat add chain=dstnat in-interface=pppoe0 protocol=udp dst-port=1194 \
|
||
action=dst-nat to-addresses=192.168.66.32 to-ports=1194
|
||
/ip firewall nat add chain=srcnat connection-nat-state=dstnat action=masquerade # hairpin
|
||
|
||
# 防火墙(input / forward),顺序很重要:SSH 放行必须早于默认 drop
|
||
/ip firewall filter add chain=input connection-state=established,related action=accept
|
||
/ip firewall filter add chain=input connection-state=invalid action=drop
|
||
/ip firewall filter add chain=input protocol=icmp action=accept
|
||
/ip firewall filter add chain=input in-interface=pppoe0 action=drop comment="drop WAN in"
|
||
/ip firewall filter add chain=input protocol=tcp dst-port=22 \
|
||
src-address=192.168.66.0/24,192.168.55.0/24 action=accept comment="mgmt SSH"
|
||
/ip firewall filter add chain=input action=drop comment="drop other input"
|
||
/ip firewall filter add chain=forward connection-state=established,related action=fasttrack-connection \
|
||
hw-offload=yes
|
||
/ip firewall filter add chain=forward connection-state=established,related action=accept
|
||
/ip firewall filter add chain=forward connection-state=invalid action=drop
|
||
/ip firewall filter add chain=forward in-interface=pppoe0 action=drop comment="drop WAN fwd"
|
||
/ip firewall filter add chain=forward action=accept comment="accept LAN fwd"
|
||
|
||
# MSS clamp(PPPoE MTU 1492 → 1452;ER-X 旧值 1412 偏小,验证后按标准值收敛)
|
||
/ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn \
|
||
tcp-mss=1400-65535 action=change-mss new-mss=1452 passthrough=yes
|
||
|
||
# IPv6(PD /60 + SLAAC /64)
|
||
/ipv6 dhcp-client add interface=pppoe0 request=prefix pool-name=pd6 \
|
||
pool-prefix-length=60 add-default-route=yes
|
||
/ipv6 address add from-pool=pd6 interface=vlan66 address=::1 adverts=yes
|
||
/ipv6 address add from-pool=pd6 interface=vlan55 address=::1 adverts=yes
|
||
# /ipv6 firewall filter 参照 IPv4:established/related accept、invalid drop、
|
||
# icmpv6 accept、pppoe0 in drop、默认 drop,forward 同构
|
||
|
||
# DHCP(池 / DNS / Inform / 静态映射全量照搬 ER-X)
|
||
/ip pool add name=pool66 ranges=192.168.66.38-192.168.66.243
|
||
/ip pool add name=pool55 ranges=192.168.55.38-192.168.55.243
|
||
/ip dhcp-server add name=dhcp66 interface=vlan66 address-pool=pool66 lease-time=1d
|
||
/ip dhcp-server add name=dhcp55 interface=vlan55 address-pool=pool55 lease-time=1d
|
||
/ip dhcp-server network add address=192.168.66.0/24 gateway=192.168.66.254 \
|
||
dns-server=192.168.66.36
|
||
/ip dhcp-server network add address=192.168.55.0/24 gateway=192.168.55.254 \
|
||
dns-server=192.168.66.36
|
||
# 静态映射:从 ER-X 导出后逐条 /ip dhcp-server lease add ...
|
||
# UniFi Inform:DHCP option 43(hex 编码为 http://192.168.66.46:9080/inform),
|
||
# 或依赖已 adopt AP 的 set-inform;与现网 ER-X 行为保持一致。
|
||
```
|
||
|
||
### 阶段 2:上台预验证(ER-X 仍在线)
|
||
|
||
1. 将 RB5009 `ether2` 接入现有 LAN66 网段(管理本同网段),SSH 登录 `.253`。
|
||
2. 全配置复查:VLAN 表、防火墙规则顺序(SSH 在 drop 前)、NAT、路由、IPv6。
|
||
3. **暂不启用 RA/DHCP**(避免与 ER-X 冲突)。预验证 `.253` 可达、SSH 密钥生效、`zhiqiang` 无密码。
|
||
4. 确认 ER-X 当前配置**已备份并保存**(作为回滚依据;`show configuration commands` 过滤敏感行)。
|
||
|
||
### 阶段 3:维护窗切换(约 30–60 分钟)
|
||
|
||
1. 变更 RB5009 `vlan66`/`vlan55` 地址 `.253 → .254`。
|
||
2. **下电 ER-X**(保留原接线与配置,不作任何改动)。
|
||
3. ONT 线从 ER-X `eth4` 移到 RB5009 `ether1`。
|
||
4. 观察 PPPoE 拨号:`/interface pppoe-client monitor pppoe0` 直至 `status=established`;确认 WAN IP 与默认路由。
|
||
5. 验证清单(见第 5 节),全绿才算完成。
|
||
|
||
### 阶段 4:上线收口
|
||
|
||
1. 再确认管理面:禁 Winbox/API/WebFig、SSH 仅密钥、默认 `admin` 已除。
|
||
2. 更新固件/补丁至已核定的稳定版;重新导出备份(`.backup` + 文本)存离线。
|
||
3. ER-X 下电收纳为**已配置备件**,把其接线与角色记录到 `hosts/gw.md` 备份节。
|
||
|
||
### 阶段 5(后续,另立项目)
|
||
|
||
**时序确认:** VLAN10 升级专用 Wi-Fi 是 RB5009 上线**稳定之后**的独立项目,不并入本次维护窗。
|
||
|
||
- 4 条端口转发是否仍需的审计。
|
||
- 网关重编址(`.254 → 其它`)决策。
|
||
- **VLAN10 升级专用 SSID → `gfw`(可行性审查,2026-08-09)**。
|
||
- 迁移后同步本仓库事实文档:`hosts/gw.md`、`docs/lan-overview.md`、`inventory/hosts.md`、`AGENTS.md` 快速地图。
|
||
|
||
### 阶段 5 附:VLAN10 可行性审查
|
||
|
||
**结论:** 换 RB5009 后**物理上可行**,但 RB5009 只解决「交换机侧」路径;PVE 宿主机到 `gfw` 虚拟机这一段(此前判定为不可行的关键缺口)仍必须单独打通。
|
||
|
||
**为什么当前不能在 AP 上启用 VLAN10:**
|
||
|
||
U6 接的是 ER-X `eth0` 的普通 untagged LAN66 路径,尚无已验证的 VLAN10 端到端二层通道。给 SSID 选择 VLAN10 后,客户端不会获得可由 gfw 服务的预期 VLAN10 网络;帧究竟被丢弃、被设备错误处理,还是 SSID 实际没有打 tag,必须以 AP/交换机/gfw 抓包和配置核验判断。**不得**将“tagged 帧必然自动去标签并泄漏到 LAN66”作为实施前提。
|
||
|
||
**RB5009 下实现需要 3 个前提:**
|
||
|
||
1. **RB5009 bridge 增加 VLAN10 转发:**
|
||
`/interface bridge vlan add bridge=bridge66 vlan-ids=10 tagged=<U6口>,<PVE口>`
|
||
只在这两个口 tagged。**不要**在 RB5009 上给 VLAN10 配 IP / DHCP(gfw 才是网关与唯一 DHCP)。
|
||
2. **PVE 宿主机路径(必须做,RB5009 解决不了这一段):**
|
||
PVE 物理上联口透传 tagged VLAN10;`gfw` 虚拟机有一块 VLAN10 可达的网卡
|
||
(如 vmbr0 开 `vlan_filtering` + 给 gfw 加第二块 pvid 10 的 NIC,或 VM 内 `eth0.10`)。
|
||
这是此前「无法实现」的同一处缺口,需在 PVE/vSwitch 层单独验证。
|
||
3. **`gfw` 侧:** VLAN10 网卡 `192.168.10.1/24` + DHCP(`192.168.10.0/24`)+ 出 66 口
|
||
masquerade。RB5009 无需到 `192.168.10.0/24` 的路由(gfw SNAT 后源地址即 66 网段)。
|
||
|
||
**两个注意点:**
|
||
|
||
- **单 DHCP 原则:** VLAN10 上唯一 DHCP 是 gfw;RB5009 不得在 VLAN10 提供 DHCP。
|
||
- **设计确认:** 升级 SSID 客户端走 gfw 网关后,DNS 为 gfw 的 dnsmasq→clash(7874),
|
||
**不是** AdGuard `.36`——这是「被代理网络」的预期行为,需接受。
|
||
|
||
### 阶段 5 附:PVE 上 VLAN10 透传实现(调研 2026-08-09)
|
||
|
||
官方 wiki + 多个社区案例支持两种模型,核心原则是 **「一层只拥有一个 tag」**——要么 PVE 拥有
|
||
access VLAN,要么 OpenWrt 拥有 trunk,**不能在同一张 NIC 上两层都做**。
|
||
|
||
**方案 A(推荐):PVE 拥有 access VLAN,gfw 加第二块 virtio 网卡**
|
||
|
||
1. `vmbr0` 开 vlan-aware(`/etc/network/interfaces`):
|
||
|
||
```text
|
||
auto vmbr0
|
||
iface vmbr0 inet static
|
||
address 192.168.66.26/24
|
||
gateway 192.168.66.254
|
||
bridge-ports eno1
|
||
bridge-stp off
|
||
bridge-fd 0
|
||
bridge-vlan-aware yes
|
||
bridge-vids 10 # 至少含 10;常见默认 2-4094
|
||
```
|
||
|
||
2. gfw VM 添加 `net1: virtio,bridge=vmbr0,tag=10`。VM 内该网卡是**无标记**接口
|
||
(已落在 VLAN10 广播域),**不要再建同名 8021q 子接口**。
|
||
3. 现有 `eth0`(native/untagged = VLAN66)不动,gfw 原有角色不变。
|
||
4. PVE 物理上联口(PVE→RB5009)改为 **trunk:native 66 + tagged 10**。
|
||
5. OpenWrt 内:新网卡 `192.168.10.1/24` + DHCP(`192.168.10.0/24`)+ 独立 firewall zone→wan masq。
|
||
|
||
**方案 B:OpenWrt 拥有 trunk(单 NIC 多 VLAN)**
|
||
|
||
- `vmbr0` vlan-aware;VM NIC **不加 tag**;trunk 原样进 VM;OpenWrt 内建 `8021q` 设备
|
||
(`eth0.10`,x86/virtio 用 `option type '8021q'`,不要套用 DSA 教程)。物理上联 trunk。
|
||
- 更灵活(一块网卡多 VLAN),是 router VM 的常见做法,但需要 OpenWrt 8021q 配置,
|
||
且方案 A 对现有单网卡 gfw 改动更小。
|
||
|
||
**RB5009 侧配套(U6 口 + PVE 口都做成 trunk):**
|
||
|
||
```text
|
||
/interface bridge port add bridge=bridge66 interface=<U6口> pvid=66
|
||
/interface bridge port add bridge=bridge66 interface=<PVE口> pvid=66
|
||
/interface bridge vlan add bridge=bridge66 vlan-ids=66 tagged=bridge66 untagged=<U6口>,<PVE口>,<其余66口>
|
||
/interface bridge vlan add bridge=bridge66 vlan-ids=55 tagged=bridge66 untagged=<ether9>
|
||
/interface bridge vlan add bridge=bridge66 vlan-ids=10 tagged=<U6口>,<PVE口>
|
||
```
|
||
|
||
VLAN10 在 RB5009 上**纯二层桥接**(U6 ↔ PVE),三层由 gfw 承担;RB5009 无 VLAN10 IP/DHCP。
|
||
|
||
**常见坑(社区高复发):**
|
||
|
||
- **双标签:** PVE 设了 `tag=10` 又在 OpenWrt 里建 `eth1.10` → 一帧被两层改两次。
|
||
- **native VLAN 不一致:** trunk 上无标记帧被两端当成不同 VLAN → DHCP 消失 / 拿到错网段
|
||
(正是你之前在 AP 上打 VLAN10 坏 66 网的同类故障)。
|
||
- **bridge 未 vlan-aware:** tagged 帧进 host 后在 bridge 过滤层消失。
|
||
|
||
**诊断命令:**
|
||
|
||
```bash
|
||
# PVE host
|
||
bridge vlan show
|
||
ip -br link
|
||
tcpdump -eni <上联口> # 帧是否到物理口
|
||
tcpdump -eni vmtapXXXXXX # 帧是否到 VM tap
|
||
# OpenWrt guest
|
||
ip -d link show
|
||
logread -e netifd
|
||
```
|
||
|
||
**参考案例:**
|
||
|
||
- PVE 官方 wiki — Network Configuration / VLAN 802.1Q(三种模式 + vlan-aware bridge):
|
||
<https://pve.proxmox.com/wiki/Network_Configuration>
|
||
- 「OpenWrt VM on Proxmox」设计(trunk vs access 谁拥有 tag、双标签坑):
|
||
<https://phb-crystal-ball.org/run-openwrt-in-proxmox/>
|
||
- PVE 论坛「Tagged and Untagged VLAN」(`bridge-vlan-aware yes` + `bridge-vids` 解法):
|
||
<https://forum.proxmox.com/threads/tagged-and-untagged-vlan-configuration.144421/>
|
||
- OpenWrt 论坛 guest WiFi tagged VLAN 案例(`vmbr0.3`→VM 第三网卡;guest 拿到错误网段的
|
||
同型故障,最终归因在 PVE/host 侧):<https://forum.openwrt.org/t/continued-x86-openwrt-proxmox-vlan-issues/182623>
|
||
|
||
> **PVE host 改动风险:** 给 `vmbr0` 开 vlan-aware 是对宿主机网络栈的修改,有管理面断连风险;
|
||
> 需在维护窗内用控制台/独立带外通道进行,先 `ifreload -a`(PVE7+ 的 ifupdown2 支持热应用),
|
||
> 保留原配置作回滚。
|
||
|
||
---
|
||
|
||
## 5. 验收清单(「网络算正常」的样子)
|
||
|
||
1. 管理面:`zhiqiang` 密钥 SSH 可从 LAN66/55 登录;默认 `admin` 禁用;Winbox/API 不可达;`.254` 管理可达。
|
||
2. VLAN:客户端取得正确网段(`.66.x` / `.55.x`),默认网关 `.254`,DNS `.36` 可用。
|
||
3. 互联网:PPPoE 已建立;IPv4 外网通;端口转发逐条从公网验证(hass 8123、transmission 51413、ssh 5822→.36:22、openvpn 1194)。
|
||
4. IPv6:两 VLAN 拿到 SLAAC `/64`,默认路由存在,外部 IPv6 可达;IPv6 防火墙未阻断必要 ICMPv6/DHCPv6。
|
||
5. 本地服务:跨 VLAN(`.55.x` ↔ `.66.x`)互通;AdGuard Home、UniFi 控制器、`gfw` 旁路由行为与升级前一致。
|
||
6. UniFi:U6 Lite(`.66.6`)与 UAP-AC-Lite(`.55.5`)在控制器显示 **Connected**;Inform 未变 `:9080`。
|
||
7. 无环路、无双默认网关;端口协商与错误计数正常。
|
||
8. 备份(`.backup` + 文本导出)已离线保存;ER-X 已下电收纳。
|
||
|
||
---
|
||
|
||
## 6. 回滚语义
|
||
|
||
任一阶段失败:**停手**。
|
||
|
||
- **维护窗内失败(PPPoE 未起 / 客户端不通 / 防火墙锁死):**
|
||
1. 下电 RB5009。
|
||
2. ONT 线插回 ER-X `eth4`。
|
||
3. 给 ER-X 上电 → 服务在数分钟内恢复。
|
||
4. 不要在故障中改 ER-X 的 WAN、DHCP、网关地址或 SSH 策略。
|
||
- **维护窗成功后** ER-X 只是备件;后续 VLAN10 失败只撤 SSID/VLAN 绑定,主 SSID 与 `.254` 路径不动。
|
||
|
||
---
|
||
|
||
## 7. 安全与记录
|
||
|
||
- **本仓库永不记录**:PPPoE 口令、`zhiqiang` 口令、SSH 私钥、RouterOS 备份(含口令/密钥)。
|
||
- 每次实质性变更(切换、回滚、加固)完成后,在 Linear **`vps` 项目**记录 scope / action / verification / 遗留 follow-up(本次先不建 issue,待执行时补)。
|
||
- SSH 与访问策略变更遵循仓库「SSH access safety」流程:ER-X 会话保持为回滚路径,新密钥登录验证成功前不关闭旧通道。
|
||
|
||
---
|
||
|
||
## 8. 参考
|
||
|
||
- 现网地图:[lan-overview.md](lan-overview.md)
|
||
- ER-X 现状:[edgerouter-x-configuration.md](edgerouter-x-configuration.md)、[hosts/gw.md](../hosts/gw.md)
|
||
- UniFi:[unifi-network.md](unifi-network.md)、[hosts/ubnt.md](../hosts/ubnt.md)
|
||
- `gfw`:[hosts/gfw.windy.lan.md](../hosts/gfw.windy.lan.md)
|
||
- 作废方案(**不再实施**):[lan-erx-se5420-network.md](lan-erx-se5420-network.md)、[lan-core-switch-upgrade-plan.md](lan-core-switch-upgrade-plan.md)
|
||
- MikroTik RB5009 官方:<https://mikrotik.com/product/rb5009ug_s_in>、RouterOS v7 手册
|