mikrotik-crs328-initial-setup, Handoff¶
URL: https://mkdocs.justinsforge.com/memory/handoffs/mikrotik-crs328-initial-setup-2026-05-14/
Date: 2026-05-14 Owner: next Claude Code session (or Justin direct) when he sits down to rack the switch Parent session: Console Opus 4.7, 2026-05-14 23:15 CDT
The Goal¶
Bring a new MikroTik CRS328-24P-4S+RM online as the rack aggregation switch downstream of the existing Google Wifi edge, on RouterOS, with VLAN-aware bridge, PoE, and a Finn LACP 2x10G bond. Day-1 scope is L2 + PoE working on a single VLAN matching today's 192.168.86.0/24; VLAN segmentation and edge-router promotion are explicit phase-2 work.
Current State¶
- Switch is on hand: CRS328-24P-4S+RM (24x gig PoE, 4x 10G SFP+, 1U, 500W PSU, dual-boot RouterOS/SwOS).
- Decision made: RouterOS (not SwOS, not bridge-only mode). Justin wants the same OS he'll grow into for routing later.
- Decision made: slot in as rack aggregation switch downstream of Google Wifi. Not replacing edge router on day 1.
- Current LAN is flat
192.168.86.0/24, Google Wifi gateway, no VLANs. Seeforge/system-map/fleet.mdfor the full Finn + LXC/VM map (homeassistant .180, plex .73, media-server .74, console .50, adguard .75, n8n .82, immich .83, frigate .84, minecraft .23, Finn .67, Sol .33). - Nothing physically cabled or powered yet. No config exists on the switch.
Files You'll Work With¶
| File | Purpose |
|---|---|
forge/system-map/fleet.md |
Current LAN map, IPs, must stay coherent after VLAN work |
forge/infra/network/crs328-baseline.rsc (to create) |
Full RouterOS config to paste in one shot |
forge/infra/network/crs328-finn-bond-proxmox.conf (to create) |
Proxmox-side LACP bond snippet for Finn's /etc/network/interfaces |
forge/memory/general/reference_finn_bmc_lan_configured.md |
Finn IPMI lives at .68, do not disrupt during cable swap |
forge/memory/handoffs/mikrotik-crs328-initial-setup-2026-05-14.md |
This file |
Likely Approach¶
Phase 1, bench setup (before racking):
1. Console-port serial, 115200 8N1, log in admin / blank.
2. /system reset-configuration no-defaults=yes skip-backup=yes, reboot to bare config.
3. Upgrade to latest stable 7.x: package update then /system routerboard upgrade then reboot twice.
4. Set identity, admin password, NTP, syslog to Console.
5. Export baseline: /export file=baseline-2026-05-14 + /system backup save name=baseline-2026-05-14. Pull both off via scp before doing anything else.
Phase 2, L2 backbone (single VLAN, drop-in compatible with today's LAN):
1. Create br0 bridge with vlan-filtering=yes.
2. Add ether1-24 + sfp-sfpplus1-4 as bridge ports, all pvid=10, frame-types=admit-only-untagged-and-priority-tagged for now.
3. Allocate one copper port as uplink to Google Wifi.
4. Cable Finn 10G #1 to sfp-sfpplus1; verify link + L2 reachability to .67.
Phase 3, PoE:
1. Per-port /interface ethernet poe set etherN poe-out=auto-on.
2. Higher poe-priority on cameras and APs (they get shed last on brownout).
3. /interface ethernet poe monitor [find] to verify draw.
Phase 4, Finn LACP bond (2x 10G):
1. Switch: /interface bonding add name=bond-finn slaves=sfp-sfpplus1,sfp-sfpplus2 mode=802.3ad lacp-rate=1sec transmit-hash-policy=layer-3-and-4.
2. Add bond-finn to br0 with pvid=10.
3. Proxmox: match with bond-mode 802.3ad, miimon 100, bond-xmit-hash-policy layer3+4 in /etc/network/interfaces.
4. Test: iperf3 Console → Finn should clear 9.4 Gbps single-stream, ~18 Gbps multi-stream.
Phase 5 (deferred, separate handoff): VLAN segmentation (MGMT/Servers/IoT/Cameras/Guest/Lab), edge-router promotion (Google Wifi demoted to APs or replaced), firewall.
10G SFP+ Allocation¶
| Port | Use | Cable |
|---|---|---|
| sfp-sfpplus1 | Finn 10G #1 | DAC, MikroTik S+DA0001 or S+DA0003 |
| sfp-sfpplus2 | Finn 10G #2 (LACP bond) | DAC |
| sfp-sfpplus3 | Reserved: Console/Vector 10G or NAS | empty |
| sfp-sfpplus4 | Reserved: future edge-router uplink or second switch | empty |
VLAN Plan (Phase 5, not day 1)¶
| VLAN | Subnet | Purpose |
|---|---|---|
| 10 | 192.168.86.0/24 | MGMT/main, matches current LAN during transition |
| 20 | 10.20.0.0/24 | Servers (Finn, future bare-metal) |
| 30 | 10.30.0.0/24 | IoT (HA-controlled, smart plugs, TVs) |
| 40 | 10.40.0.0/24 | Cameras (Frigate, doorbell), no-internet default |
| 50 | 10.50.0.0/24 | Guest |
| 99 | 10.99.0.0/24 | Lab/spawn (Vector, ephemeral workers) |
PoE Budget¶
500W PSU, ~370W usable after switch overhead. Way more than current load needs (handful of Frigate cams + doorbell + 2-3 APs ~= 80-120W).
SFP+ Cable Picks¶
- <3m in-rack: passive DAC, MikroTik S+DA0001/0003 (~$15-25 each), or FS.com MikroTik-coded equivalents.
- 5-7m: active DAC or AOC.
-
10m or between rooms: MM fiber LC-LC + S+85DLC03D transceivers.
- Avoid 10GBASE-T SFP+ copper modules unless required (2.5W heat per cage in a 4-cage cluster is asking for trouble).
Don't Do¶
- Don't replace Google Wifi as edge router on day 1, that's a separate, bigger project.
- Don't enable VLAN segmentation before the bridge is verified working untagged on VLAN 10. You will lock yourself out.
- Don't reuse Finn's currently-cabled 1G port without first verifying the new 10G path; keep the old cable plugged in until iperf passes.
- Don't disrupt Finn IPMI at 192.168.86.68 during cable swap; that's a separate physical port.
- Don't use 10GBASE-T SFP+ copper modules in adjacent SFP+ cages, thermal will bite.
- Don't skip the pre-change
/exportand/system backup save.
Deliverables¶
- CRS328 racked, powered, on latest stable RouterOS 7.x, identity + admin password set.
forge/infra/network/crs328-baseline.rscchecked in, full config including bridge, ports, PoE, bond-finn.- Finn cabled to switch via 2x SFP+ DAC, LACP bond-finn up on both sides, iperf3 Console → Finn passing 9 Gbps+ single-stream.
- All existing LXC/VM IPs still reachable, Plex/Immich/Frigate still streaming.
- Baseline backup pulled off switch to
forge/infra/network/backups/crs328-baseline-2026-05-14.{rsc,backup}. forge/system-map/fleet.mdupdated with switch entry + 10G topology note.
Done When¶
- Switch reachable at chosen MGMT IP on VLAN 10
- Latest stable RouterOS 7.x running, routerboard firmware matched
- Baseline
.rsc+.backuparchived off-switch - Finn
bond-finnshows both slaves up, LACP partner state0x3d -
iperf3 -c finn -P 4≥ 18 Gbps aggregate from Console - All current 1G clients still reach internet + each other
- PoE devices (cams, doorbell, APs) powered through new switch with
poe monitorshowing healthy draw -
forge/system-map/fleet.mdreflects new switch + Finn 10G bond - Open questions resolved (see below) and recorded in handoff
Open Questions to Resolve Before Phase 5¶
- Keep Google Wifi as edge router long-term, or plan promotion of CRS328 to edge?
- Switch physical location, same rack as Finn? Cable distance to Finn?
- Does Finn already have both onboard SFP+ ports free? (MS-01 has 2x SFP+ onboard, probably yes.)
- Want the full RouterOS config drafted as a single
.rscahead of time, or build it interactively during racking?
Status Update, 2026-05-20¶
Scanned 192.168.86.0/24 from Console: 51 live hosts, none answering on RouterOS-typical ports (22/23/80/443/161/2000/8291/8728/8729), no Mikrotik OUI in ARP. Switch is still not on the home LAN, consistent with the original "nothing physically cabled or powered yet" state.
If/when racked, expected sequence:
1. Console-port serial bench config first (per Phase 1 above), do not DHCP from Google Wifi during bootstrap.
2. After identity + admin password + SSH key set, then cable an uplink and confirm reachable from Console as ssh mikrotik (alias to be added in ~/.ssh/config + reference_ssh_aliases.md).
3. Add a row to system-map/fleet.md "Network edge" section with the assigned IP (currently shows TBD).
[Claude Code], 2026-05-20.