Files
truenas-stacks/home/doris-dashboard/docs/network-cutover-master-operator-sheet.md

359 lines
12 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.
# Network Cutover Master Operator Sheet
> For Doris: this is the one-page live operator sheet for tomorrow. Use this instead of bouncing between five docs while tired.
Goal: execute the UniFi network redesign with minimal improvisation, explicit stop/go gates, per-port actions, per-device dispositions, and fast rollback discipline.
Architecture:
- Keep the target lanes clear: Management, Trusted, Servers, IoT, Guest, Cameras.
- Keep Legacy CIA alive only as a quarantine/sunset lane.
- Move true service hosts out of Trusted while keeping human endpoints where they belong.
- Move easy named IoT wins now; quarantine ambiguous junk; Google is in scope, but only through narrow, reversible tests.
Primary references if deeper detail is needed:
- `network-redesign-implementation-runbook.md`
- `network-firewall-rule-order.md`
- `legacy-cia-triage-worksheet.md`
- `unifi-readonly-recon-2026-05-22.md`
- `usw-pro-hd-24-cutover-port-sheet.md`
- `old-iot-tomorrow-disposition-list.md`
---
## 1. Live State Snapshot Already Confirmed
Networks currently present:
- Management -> `10.5.0.1/24`
- Trusted -> VLAN 51 -> `10.5.1.1/24`
- Old IoT -> VLAN 2 -> `192.168.1.1/24`
- IoT -> VLAN 510 -> `10.5.10.1/24`
- Camera -> VLAN 520 -> `10.5.20.1/24`
- Guest -> VLAN 590 -> `10.5.90.1/24`
SSIDs currently present:
- `CIA Via` -> Old IoT
- `UNEF's Playhouse` -> Camera
- `Whiskey Neat Fuck Ice` -> Trusted
- `Yer a Wifi Harry` -> Trusted
Current client counts:
- Management: 2
- Old IoT: 14
- Camera: 1
- Trusted: 14
Current hazards:
- two unnamed `espressif` devices are on Management via `UniFi Wireless` on the U7 Pro
- almost all WiFi clients are on the U7 Pro
- there are no custom firewall rules/groups yet, so tomorrows segmentation policy is basically greenfield
## 2. Tomorrows Must-Win Outcomes
By the time we stop, these should be true:
- Management is materially cleaned up
- Cameras lane exists and is not polluted by junk placement mistakes
- Servers lane exists and core hosts are moved or deliberately staged with validation
- IoT lane exists and easy-value devices are moved
- Legacy CIA is explicitly a quarantine/sunset lane
- no broad panic rules were added to compensate for fatigue
In-scope if conditions support it:
- Google/cast migration work, but only through narrow, reversible tests
- U6 LR only if needed to stabilize client behavior or complete the design cleanly
Nice-to-have only if smooth:
- SSID simplification
## 3. Absolute Rules
- Keep one stable admin path alive the whole time.
- Rocinante is the live operator station, so do not move it until the rest of the server batch is done or an alternate admin path is proven.
- Change one meaningful thing, then validate.
- Do not bulk-edit live server ports blindly.
- Nomad, Serenity, and PD can be moved as one controlled batch only because their NFS/shared-service coupling is real; pre-stage everything first, then validate the batch immediately.
- Do not try to empty Legacy CIA completely if the window gets noisy.
- Do not move unknown junk into Management, Trusted, or Servers.
- Do not let Google/cast problems bait you into broad allow rules.
- If management reachability degrades, rollback first, think second.
## 4. Minute-by-Minute Execution Spine
### T-30 to T-15: prep
- [ ] open this file
- [ ] open UniFi admin
- [ ] open Doris visual artifacts if helpful
- [ ] confirm Rocinante is the live control box
- [ ] confirm fallback route into UniFi in case Rocinante loses the lane mid-change
- [ ] decide whether U6 LR is in scope or explicitly out of scope
### Minute 0-10: baseline capture
- [ ] screenshot/export networks
- [ ] screenshot/export SSIDs
- [ ] screenshot/export firewall/rule state
- [ ] screenshot/export port profiles
- [ ] screenshot/export switch port assignments
- [ ] screenshot/export AP mappings
- [ ] snapshot Management client list
- [ ] snapshot Old IoT client list
Stop/go gate:
- [ ] do not proceed until rollback baseline exists
### Minute 10-20: create/normalize objects only
- [ ] create/confirm Servers network object
- [ ] create/confirm any missing profiles
- [ ] create/confirm staged SSIDs if needed
- [ ] create/confirm staged firewall objects/rules
Stop/go gate:
- [ ] no clients should have moved yet
- [ ] Trusted admin path still fine
### Minute 20-35: management cleanup first
- [ ] identify/address the 2 Management `espressif` devices
- [ ] ensure infra devices remain on Management intent
- [ ] remove obvious non-infra junk from Management
Stop/go gate:
- [ ] UniFi still sees gateway/switch/APs
- [ ] admin client still reaches controller
### Minute 35-50: security cleanup
- [ ] validate Camera lane
- [ ] move Protect chimes if ready
- [ ] confirm doorbell remains healthy
### Minute 50-85: core server move wave
- [ ] leave Rocinante in place as the operator station until the main server batch is done
- [ ] keep FlyingDutchman on Trusted unless a later decision explicitly reclassifies it
- [ ] pre-stage the exact three-port sequence: Nomad, Serenity, PD
- [ ] move Nomad, Serenity, and PD in one controlled wave because of NFS/shared-service coupling
- [ ] validate the batch immediately before touching anything else
### Minute 85-110: easy IoT wins
- [ ] MyQ
- [ ] LG dryer
- [ ] Samsung FamilyHub
- [ ] Main-Floor ecobee
- [ ] Upstairs ecobee
### Minute 110-125: Legacy CIA quarantine pass
- [ ] mark leftovers as quarantine/defer
- [ ] do not force migration of unknowns
- [ ] apply harsh quarantine posture
### Minute 125-140: Google test if the window is still stable
- [ ] test one Google/cast device first
- [ ] if ugly, stop and defer
### Minute 140-155: guest/SSID cleanup
- [ ] validate Guest
- [ ] disable only stale SSIDs that are truly no longer needed
### Minute 155-180: final validation and stop
- [ ] Trusted ok
- [ ] server services ok
- [ ] moved IoT devices ok
- [ ] security ok
- [ ] Management materially cleaner
- [ ] Legacy CIA now explicitly quarantine
## 5. Management Offender Sheet
These two devices are currently on Management and need identification or removal from that lane:
1. `espressif`
- IP: `10.5.0.123`
- AP: `U7 Pro`
- SSID: `UniFi Wireless`
- Default call: identify first; if it is smart-junk, move/quarantine off Management
2. `espressif`
- IP: `10.5.0.189`
- AP: `U7 Pro`
- SSID: `UniFi Wireless`
- Default call: identify first; if it is smart-junk, move/quarantine off Management
Operator note:
- these are almost certainly exactly the sort of device that should not live on your infrastructure lane
## 6. Exact Core Port Move Sheet
### Leave Alone Unless Positively Necessary
- USW Pro HD 24 port 1 -> `U7 Pro (Upstairs)` -> profile `Management`
- USW Pro HD 24 port 27 -> likely infra/uplink -> profile `Management`
- USW-24-PoE port 24 -> link up on `Management`, inspect before touching
### Port Move Order
1. USW Pro HD 24 port 2
- Live host: `Rocinante`
- Current profile visibility from API: ambiguous
- Action: inspect in UI first, then move to `Servers` if confirmed
- Validate:
- correct subnet/gateway
- reachable from Trusted
- intended services still work
2. USW Pro HD 24 port 3
- Live host: `FlyingDutchman`
- Current profile: `Trusted`
- Action: keep on `Trusted` tomorrow unless a later decision explicitly reclassifies it; this is John and Manndra's gaming PC, not a homelab service host by default
- Validate:
- host still reachable
- services behave as expected
- Safe default: leave it in Trusted
3. USW Pro HD 24 port 22
- Live host: `Nomad`
- Current profile: `Trusted`
- Action: move as part of the controlled three-host server batch
- Validate:
- expected address
- services reachable from Trusted
4. USW Pro HD 24 port 24
- Live host: `Serenity`
- Current profile: `Trusted`
- Action: move as part of the controlled three-host server batch
- Validate:
- expected address
- intended services reachable
5. USW Pro HD 24 port 23
- Live host: `PlausibleDeniability`
- Current profile: `Trusted`
- Action: move as part of the controlled three-host server batch after Nomad and Serenity are ready
- Validate:
- expected address
- SSH/admin path still works
- critical homelab services still work
- Warning:
- because Nomad, Serenity, and PD are coupled by active shares/services, treat them as one planned wave rather than three unrelated experiments
- Rocinante should stay as the control box until that wave is complete
## 7. Old IoT Device Disposition Sheet
### Migrate Now
1. `MyQ-29B` -> `192.168.1.130` -> target `IoT`
2. `LG_Smart_Dryer2_open` -> `192.168.1.186` -> target `IoT`
3. `Samsung-FamilyHub` -> `192.168.1.149` -> target `IoT`
4. `Main-Floor` ecobee -> `192.168.1.102` -> target `IoT`
5. `Upstairs` ecobee -> `192.168.1.131` -> target `IoT`
Validation for each:
- app still works
- device online
- no broad helper rule was needed
### Migrate Later Only If Calm
6. `Google-Home-Mini` -> `192.168.1.185`
7. `3c:8d:20:f3:92:36` -> Google device -> `192.168.1.192`
8. `90:ca:fa:b6:7f:6e` -> Google device -> `192.168.1.129`
Rule:
- Google is in scope tomorrow, but start with one Google-class device only unless everything is smooth
- if it demands broad discovery hacks, stop and defer
### Quarantine Tomorrow
9. `5c:61:99:41:73:40` -> unknown Cloud Network device
10. `60:74:f4:54:fd:ec` -> Private/randomized
11. `60:74:f4:7b:6a:11` -> Private/randomized
12. `c0:f5:35:20:5d:94` -> AMPAK device
13. `d4:ad:fc:60:90:6a` -> Intellirocks
14. `d4:ad:fc:ea:7f:65` -> Intellirocks
Rule:
- these do not earn clean-IoT membership by being merely online
- leave them on Legacy CIA quarantine until identified better
## 8. Camera/Security Reality Check
Already true:
- `front-doorbell` is already on Camera at `10.5.20.217`
Tomorrows security work is therefore mainly:
- move/clean up chimes
- tighten policy
- preserve the doorbells healthy state
## 9. Firewall Build Priorities
Build these first:
- established/related allow
- invalid drop
- management shield
- Trusted admin -> Management allow
- Trusted -> Servers allow
- Guest -> internet only
- IoT -> DNS/NTP/internet + specific helpers only
- Camera -> DNS/NTP/internet/Protect only
- Legacy CIA -> DNS/NTP/internet only + explicit one-offs only
- broad internal denies for Guest/IoT/Camera/Legacy CIA
Do not do tomorrow unless proven necessary:
- broad mDNS/cast trust exceptions
- loose `IoT -> Servers any`
- loose `Legacy CIA -> Trusted any`
## 10. Validation Gates
After each meaningful change, check the smallest thing that proves success.
### After management changes
- [ ] UniFi admin still reachable
- [ ] gateway/switch/AP still visible
- [ ] no surprise loss of wireless control
### After each server port move
- [ ] host gets correct subnet/gateway
- [ ] reachable from Trusted
- [ ] expected service path works
### After the Nomad/Serenity/PD batch
- [ ] NFS/shared-service relationships recover cleanly
- [ ] PD remains reachable from Rocinante/admin path
- [ ] no cross-server dependency is hanging half-broken
### After each IoT move
- [ ] device rejoins expected SSID/VLAN
- [ ] app/control works
- [ ] no broad workaround rule added
### After security changes
- [ ] doorbell/chime online
- [ ] expected app/admin behavior works
### After quarantine posture changes
- [ ] Legacy CIA devices still have minimum acceptable functionality
- [ ] they do not have new local trust
## 11. Fast Rollback Strip
If anything goes sideways:
1. revert the last moved device/port first
2. revert the last SSID/VLAN assignment second
3. revert the last firewall rule/order change third
4. restore management-plane reachability before doing anything clever
5. do not stack fresh changes on top of confusion
Immediate rollback triggers:
- loss of UniFi management-plane access
- AP/switch disappears unexpectedly
- moved server loses reachability and root cause is not obvious quickly
- critical household function breaks and cannot be explained fast
- Google weirdness starts baiting sloppy panic rules
## 12. Explicit Stop Condition
Stop when:
- Management is materially cleaner
- Cameras lane is sane
- core server moves are done or deliberately deferred with reasons
- easy-value IoT moves are done
- Legacy CIA is explicitly a quarantine/sunset lane
- the next remaining work item smells like “heroics” instead of “mechanical completion”
That is success.
Not every leftover wart has to die tomorrow.