The topology post ended on a promise. I said Guest Network Pro on the RT-BE88U would let me finally segment the IoT and media gear off the main network, and that having hardware which supported it natively removed my last excuse for not doing it.
It removed about seventy percent of the excuse. This is where the other thirty percent lives.

From looking at the SNB Forums, it was obvious that it wasn’t the easiest solution to use, especially when compared to the Ubiquiti love fest on r/homelab and r/HomeNetworking. While I look on enviously at the single pane management interface across the entire network stack, I can’t bring myself to abandon the off-the-shelf prosumer segment I call home. Making shit that isn’t supposed to work together integrate is always more fun!
What Guest Network Pro actually does
Credit first. Guest Network Pro genuinely works. You create a profile, give it a VLAN ID, and the router hands you an SSID that drops its clients into that VLAN with its own subnet and DHCP scope. Four profiles, four SSIDs, four isolated networks. For a wireless-only setup it is the whole job done in a web UI.
It also emits properly tagged 802.1Q frames on ordinary LAN ports, which I did not expect and spent an embarrassing amount of time failing to prove. More on that later.
Limitation 1: three port modes, and none of them is the one you need
The router has a VLAN Switch Control page giving each LAN port one of three modes:
- All, the default
- Access, which binds the port to a single profile, untagged
- Trunk, which carries multiple tagged VLANs
Trunk sounds like what you want until you read the fine print: “non-tagged will be dropped.” My house is structured cabling. One link runs from the router to the head-end switch, and every room hangs off it. Setting that port to Trunk cuts the untagged path for every device in the house at once. That is not a configuration change, it is an outage, and that was one lesson I had the misfortune of learning the hard way. It’s no fun when your wife’s K-drama is hanging and she starts screaming at you!
The port I actually needed was one carrying untagged VLAN 1 plus several tagged VLANs simultaneously. That is a hybrid port, and the BE88U cannot express it. Not a bug, just not a feature it has.
The device that needs it most is the AiMesh node in the master bedroom. It serves every SSID the main router serves, including the guest profiles, so its wired backhaul has to carry ordinary untagged traffic and the guest VLANs at the same time. Trunk mode kills its backhaul. Access mode kills its guest SSIDs. There is no third option on the router.
Limitation 2: a DHCP setting you will not find by looking
Guest Network Pro will not hand a DHCP lease to a client that arrives with a VLAN tag, unless you have found and enabled a per-profile toggle called “Enable the DHCP Server”.
I recorded this as a hard platform limitation and designed around it. I planned an external DHCP server. I wrote it into my notes as a constraint on the whole architecture. It was a checkbox.
What makes it nasty is that the failure is completely silent. The client sends DISCOVERs, the router ignores them, and nothing anywhere reports a problem. Ping works. ARP works. The device just never gets an address, and you go looking at your switch config.
Limitation 3: no ACLs, so isolation is all-or-nothing
Each profile has an “Access Intranet” toggle. Off means the guest network reaches the internet and nothing else. On means it reaches everything.
There is no middle. You cannot say “the AV VLAN may reach the media server on port 8096 and nothing else.” So the moment you need one service to cross a boundary, the router cannot help you, and the crossing has to happen somewhere else.
In my case that somewhere is the Proxmox layer. Anything that must live in two VLANs gets a second tagged virtual NIC:
- Pi-hole, twice over, so every VLAN gets filtered DNS instead of falling back to the router
- Jellyfin, which keeps its read-only NAS mounts on the trusted side and serves media into the AV VLAN. The NAS itself never appears there
- Home Assistant, which needs to reach IoT devices on one VLAN and media devices on another
Each one is a single command and a static address with no gateway. The pattern is the useful part: the router does isolation, the hypervisor does the deliberate holes.
The surprise: All mode was already doing what I wanted
Here is the part that cost me the most time and turned out to be the least complicated.
I spent two evenings convinced that a port left on All emits no guest-VLAN traffic, and that Trunk was mandatory. I had test results backing it. I built an entire isolated test rig to prove it, carried a laptop across the house, and cabled it directly to a spare router port so the unmanaged switch could not muddy the result.
All mode carries tagged and untagged traffic in both directions, including frames the router originates. It always did. My earlier tests failed because at the time no profile with that VLAN ID existed, so there was nothing to emit. I had invented a mechanism to explain a null result, written it into my notes next to genuine vendor documentation, and then believed it.
The practical upshot is good: the router-to-switch uplink stays on All, so the whole-house-outage hazard of Trunk mode (i.e. the K-drama blow up) never has to be touched at all.
What the managed switch actually bought me
A D-Link DXS-F108T, eight 10GBase-T ports, replacing the unmanaged 10G switch at the head end. It does three things the router cannot:
- Real hybrid ports. The study run carries untagged VLAN 1 plus four tagged VLANs, so the hypervisors can tag their own virtual NICs. The mesh node gets untagged VLAN 1 plus the guest VLANs. Neither is expressible on the router.
- Untagging onto access ports. The media console switch hangs off a port set to untagged VLAN 30. Every TV and AV receiver behind it sees plain ethernet, has no idea a VLAN exists, and gets DHCP normally. Dumb devices stay dumb.
- Loop protection that suits the topology. RSTP only catches loops where both ends land on the managed switch. The loop I actually caused once, months ago, was a bridge misconfiguration on a hypervisor behind four cascaded unmanaged switches, invisible to spanning tree. Loopback detection catches that, because unmanaged switches obligingly flood the probe frame straight back.
Does AiMesh tag, or tunnel?
This was the last unknown, and it decided whether the mesh node needed that hybrid port or would have been fine on a plain access port.
The test: with tags present, connect an iPad to the AV SSID through that node specifically, and load Jellyfin. Then strip the tagged VLANs from the port and try again. Then put them back.
Loads, fails, loads. AiMesh tags guest SSID traffic over the wired backhaul. It does not tunnel it. The managed switch was not an upgrade, it was a prerequisite.
The third step matters more than it looks. A single failure could have been the iPad dropping off for its own reasons. Watching the outcome track the variable in both directions is what makes it a result instead of an anecdote.
What broke, because something always does
Moving the media console to its own VLAN broke things quietly:
- Kodi vanished from Home Assistant. The integration stores a hard-coded IP. The device changed subnet, the integration kept looking at the old address, and the entity simply went unavailable. Nothing raised an error
- Kodi also lost its media. Its NAS shares live on the trusted side and are now unreachable by design. It gets repointed at Jellyfin, which is exactly what the media gateway is for
- Plex is stranded. It runs on the NAS, which is deliberately not in the AV VLAN. Anything that wants Plex needs to be on the trusted side, or Plex needs to move. Fortunately, i Have Remote Access enabled, so its still my primary media service
- Casting is gone. mDNS does not cross VLANs and the router will not reflect it. I do not cast from my phone, so I have accepted it. If you do, this is the single biggest cost of segmenting AV gear
If you are planning something similar, audit your automation platform for hard-coded device IPs before you move anything. That is the failure mode that will find you weeks later.
What I would tell myself
Four times in this project I recorded a confident conclusion that turned out to be wrong, and not one of them was a hardware fault. Every single one was a test that measured something other than what I thought it measured.
A DHCP probe that returned a firm failure had never actually transmitted a packet. A negative result got explained with an invented mechanism that then hardened into a documented fact. A script I wrote reported PASS while its own packet capture showed zero packets, because I (ok ok, it was the LLM) had grepped for a string that also appears inside the failure message.
The fix was not better tools. It was putting a control in every test. Prove the link works before blaming the service running over it. Include something that must fail, so a false positive is visible. I intentionally ran a test to an known good VLAN and an uncreated VLAN during every test. Reach for the cheapest probe that isolates the layer you are actually asking about. And when a negative result seems to confirm what you already believed, that is exactly the moment to check whether your probe ran at all.
The network is segmented now. The router does the VLANs, the switch decides which ports get them tagged and which get them untagged, and the hypervisor punches the deliberate holes. Guest Network Pro got me most of the way there. It just could not do the one port that mattered most. Now comes the arduous task of moving moving the different devices to their forever-home VLANs.


