VLANS Through Managed Switches - Beginner Config

Good morning all,

First, I have spent many hours on this forum parsing through the tutorials and advice shared by members in preparation for my own network overhaul. Thank you for making this information available, it has got me very far on my own. But now the time has come to ask for yet more newbie VLAN help. TL;DRs first, router and switch configs + network diagram after.

TL;DR Hardware:
Mikrotik Hex-S router → TP-Link SG108PE PoE Managed Switch → TP-Link WAP + (2x) Managed Switches: (1x) Netgear Managed Switch + (1x) TP-Link SG108E (non-PoE) Managed Switch → Wired Clients (several on each switch).

TL;DR Issue(s):
Despite some success configuring VLANs on the Mikrotik and getting DHCP servers to work through the first switch in the chain, I have zero connectivity to subsequent switches down the line. If I set my laptop to a static IP on the same network as the core hardware, I can ping and log into switches and AP, but I cannot access the router’s bridge at all, despite it being on the same network as the rest of the core devices. My access into the router is achieved via IP on a VLAN interface I created on the same network as the bridge and core hardware, and even then, the bridge IP - essentially the router itself - just sends back ping timeouts or “No Route to Host” messages. This could be caused by a myriad of issues, I understand, so below you will find many more specifics for my setup. There is no firewall yet, as the router is not yet connected to WAN (stay tuned for that post), and I want everything to communicate with everything at first so I can methodically go through and customize rules as needed.

Nitty Gritty

Mikrotik Hex-S Config File:

# jan/06/1970 17:39:24 by RouterOS 6.49.18
# software id = XXX
#
# model = RB760iGS
# serial number = XXX

/interface bridge
add comment="LAN Bridge" frame-types=admit-only-vlan-tagged \
    ingress-filtering=yes name=bridge_LAN vlan-filtering=yes

/interface ethernet
set [ find default-name=ether1 ] comment=WAN

/interface vlan
add comment=cameras interface=bridge_LAN loop-protect=on name=eyes vlan-id=50
add comment="guests welcome" interface=bridge_LAN loop-protect=on name=guest vlan-id=60
add comment="home private" interface=bridge_LAN loop-protect=on name=home vlan-id=10
add comment=management interface=bridge_LAN name=mgmnt vlan-id=99
add comment=server interface=bridge_LAN loop-protect=on name=service vlan-id=30
add comment=IoT interface=bridge_LAN loop-protect=on name=things vlan-id=20
add comment="work isolation" interface=bridge_LAN loop-protect=on name=work vlan-id=40

/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

/ip hotspot profile
set [ find default=yes ] html-directory=hotspot

/ip pool
add comment=home name=DHCP_home ranges=192.168.10.35-192.168.10.254
add comment=IoT name=DHCP_things ranges=192.168.20.15-192.168.20.254
add comment=server name=DHCP_service ranges=192.168.30.25-192.168.30.254
add comment=work name=DHCP_work ranges=192.168.40.15-192.168.40.254
add comment=camers name=DHCP_eyes ranges=192.168.50.35-192.168.50.254
add comment=guest name=DHCP_guest ranges=192.168.60.20-192.168.60.254
add comment=management name=DHCP_mgmnt ranges=192.168.0.25-192.168.0.254

/ip dhcp-server
add add-arp=yes address-pool=DHCP_things disabled=no interface=things \
    lease-time=1d name=DHCP_things src-address=192.168.20.0
add address-pool=DHCP_service disabled=no interface=service lease-time=1d \
    name=DHCP_service src-address=192.168.30.0
add address-pool=DHCP_work disabled=no interface=work lease-time=1d name=\
    DHCP_work src-address=192.168.40.0
add add-arp=yes address-pool=DHCP_eyes disabled=no interface=eyes lease-time=\
    1d name=DHCP_eyes src-address=192.168.50.0
add add-arp=yes address-pool=DHCP_guest disabled=no interface=guest \
    lease-time=1d name=DHCP_guest src-address=192.168.60.0
add address-pool=DHCP_mgmnt disabled=no interface=mgmnt lease-time=1d name=\
    DHCP_mgmnt src-address=192.168.0.0
add address-pool=DHCP_home disabled=no interface=home lease-time=1d name=\
    DHCP_home src-address=192.168.10.0

/interface bridge port
add bridge=bridge_LAN comment=management interface=ether2 pvid=99
add bridge=bridge_LAN frame-types=admit-only-vlan-tagged ingress-filtering=\
    yes interface=ether3 tag-stacking=yes
add bridge=bridge_LAN frame-types=admit-only-vlan-tagged ingress-filtering=\
    yes interface=ether4 tag-stacking=yes
add bridge=bridge_LAN comment="trunk all vlans" frame-types=\
    admit-only-vlan-tagged ingress-filtering=yes interface=ether5 \
    tag-stacking=yes

/ip neighbor discovery-settings
set discover-interface-list=!dynamic

/interface bridge vlan
add bridge=bridge_LAN comment=home_vlan tagged=\
    ether3,ether4,ether5,bridge_LAN vlan-ids=10
add bridge=bridge_LAN comment=mgmnt tagged=ether5,bridge_LAN untagged=ether2 \
    vlan-ids=99
add bridge=bridge_LAN comment=guest_vlan tagged=\
    bridge_LAN,ether3,ether4,ether5 vlan-ids=60
add bridge=bridge_LAN comment=eyes_vlan tagged=\
    bridge_LAN,ether3,ether4,ether5 vlan-ids=50
add bridge=bridge_LAN comment=work_vlan tagged=\
    bridge_LAN,ether3,ether4,ether5 vlan-ids=40
add bridge=bridge_LAN comment=service_vlan tagged=\
    bridge_LAN,ether3,ether4,ether5 vlan-ids=30
add bridge=bridge_LAN comment=things_vlan tagged=\
    bridge_LAN,ether3,ether4,ether5 vlan-ids=20

/ip address
add address=192.168.10.1/24 comment=home interface=home network=192.168.10.0
add address=192.168.20.1/24 comment=IoT interface=things network=192.168.20.0
add address=192.168.30.1/24 comment=servers interface=service network=192.168.30.0
add address=192.168.40.1/24 comment=work interface=work network=192.168.40.0
add address=192.168.50.1/24 comment=cameras interface=eyes network=192.168.50.0
add address=192.168.60.1/24 comment=guest interface=guest network=192.168.60.0
add address=192.168.0.10/16 comment=management interface=mgmnt network=192.168.0.0
add address=192.168.0.1/16 comment="router IP" interface=bridge_LAN network=192.168.0.0

/ip dhcp-client
add comment="DHCP WAN" disabled=no interface=ether1 use-peer-dns=no

/ip dhcp-server network
add address=192.168.0.0/16 comment=mgmnt dns-server=192.168.0.1 gateway=\
    192.168.0.1 netmask=16 ntp-server=192.168.0.1
add address=192.168.10.0/24 comment=home dns-server=192.168.0.1 gateway=\
    192.168.10.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.20.0/24 comment=IoT dns-server=192.168.0.1 gateway=\
    192.168.20.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.30.0/24 comment=service dns-server=192.168.0.1 gateway=\
    192.168.30.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.40.0/24 comment=work dns-server=192.168.0.1 gateway=\
    192.168.40.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.50.0/24 comment=eyes dns-server=192.168.0.1 gateway=\
    192.168.50.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.60.0/24 comment=guest dns-server=192.168.0.1 gateway=\
    192.168.60.1 netmask=24 ntp-server=192.168.0.1

/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1,9.9.9.9,149.112.112.112

TP-Link SG108PE Switch (Config file not available for export - provided manually)
Static IP=192.168.0.2/16
Default Gateway=192.168.0.1
LAG=Default (OFF)
VLAN 802.1Q=
VLAN ID (T=Tagged / UT=Untagged)
1: T=NONE UT=1-8 (Default)
10: T=1-3,6,8 UT=NONE
20: T=1-3,5,7-8 UT=NONE
30: T=1,8 UT=NONE
40: T=1,5,8 UT=NONE
50: T=1-4 UT=NONE
60: T=1-4 UT=NONE
99: T=2,7-8 UT=6
PVID: ALL=1 (Default)

TP-Link SG108E
Static IP=192.168.0.6/16
Default Gateway=192.168.0.1
LAG=Default (OFF)
VLAN 802.1Q=
VLAN ID:
1: T=NONE UT=1-8 (Default)
10: T=1 UT=2-4
20: T=1 UT=6
30: T=1 UT=7
40: T=1 UT=8
99: T=1 UT=5
PVID=
Port 1: 1
Port 2: 10
Port 3: 10
Port 4: 10
Port 5: 99
Port 6: 20
Port 7: 30
Port 8: 40

Netgear Managed Switch - Not yet configured. Once the main issues are sorted, I will apply that knowledge to configuring this switch and clients.

Network Diagram:

I’m sure my issue comes down to two main areas: Not fully understanding VLAN tagging yet, and not quite grasping subnetting as well as I thought. Assigning a .0.0/16 network to my core equipment I thought would, by default, allow all the rest of my /24 subnets to communicate easily as they should be under the overarching /16 but I think I have that wrong.

Further, for VLAN tagging, I understand the role of trunk ports and tagging traffic on them, and I understand access ports and their untagged behavior. But when they mix, I get confused easily. And I am still unclear as to whether a switch will STRIP a VLAN tag on ingress before forwarding to the next hop in the chain, i.e.: Client > Untagged Port > Switch tags traffic, egresses out tagged trunk port > Next switch “opens” frame, thus STRIPPING the original VLAN tag and causing ROUTER ports that expect TAGGED traffic to drop as it’s no longer tagged. Or am I off-base here? There is a lot of conflicting information about this. I thought that if a switch received traffic with a VLAN tag destined for a device not attached to that switch, it would simply send it on down the line, but clearly that isn’t happening in my setup.

For now, I will be happy if I can get my current wired clients onto their correct VLANs, subnets, and communicating with the router and each other across the entire network with DHCP addresses assigned to them from the Mikrotik. From there, I will need help figuring out how exactly my wireless AP assigns VLANS and how to get that up and running. I have tried, and the interface is simple for creating SSIDs and assigning VLANs to them, but with DHCP unable to reach the AP, devices can’t get IPs and therefore won’t connect. But that is beyond the scope of this for now. Firewall rules for network segregation and inter-VLAN routing after that. And of course, WAN connectivity and DNS to round it all out. But not right now.

Thank you to anyone who made it through my post and still decided to help me. Thank you again to the members of this forum who have shared a wealth of knowledge to get me this far to begin with. I am learning networking and self-hosting as a hobby and I am really enjoying it so far. All questions are welcome; I held a lot back since this post is already too long. Good luck and I look forward to everyone’s advice.
250313-Network-Diag.jpg

Did you read the article: http://forum.mikrotik.com/t/using-routeros-to-vlan-your-network/126489/1
If you say you did, I dont believe because nowhere does it state to have this.
/interface bridge
add comment=“LAN Bridge” frame-type=admit-only-vlan-tagged name=bridge_LAN vlan-filtering=yes

The application of ingress-filtering and frame types should normally be done at /interface bridge ports ( unless its a niche case and one is an expert )

Further I dont comment on snippets of a config, there are no interface list entries for example…

Hello Anav,

Thank you for taking the time to review my setup. To start, I have read and re-read, and skimmed, and read again that article. It has been hugely informative. The admit-only-vlan-tagged is likely leftover from me trying to troubleshoot the issue. I will gladly reset that to the proper config as it seemed to have little effect on or off.

As for the snippet… that’s it, you’re looking at the entire config file. There are no interface lists because when I try to create a new one in the WinBox GUI, there is no create new option, only a dropdown to select pre-existing ones. I saw mention of them here or there, but not as they related to whether or not network functionality hinged on them, more in the context of firewall rules and access lists. I am happy to use this chance to get more familiar with Mikrotik’s CLI as it seems easier to manually add these lists there instead of hunting them down in the GUI.

Thanks for the direction and I will keep chipping away at this.

Understood, it can be tricky the first time, just click on the tab to make new one.
…
Screenshot 2025-03-13 123152.jpg

You do. When a device is sending a packet if the destination address resides within the subnet it will use ARP to ask for the ethernet address to send the packet to within the layer 2 / ethernet network, otherwise it will send the packet to the default gateway address and the device at that address handles it.

There is proxy ARP which fakes a reply to ARP requests, but this is typically used for cases such as having VPN layer 3 / IP clients use the same subnet as devices in a local LAN. For most network setups you should stick to non-overlapping subnets.

Stick to standard subnets /24 until you get more experience!!!


Additions/Modification

  1. Adjust frame type, the default is admit-all.
    /interface bridge
    add comment=“LAN Bridge” frame-types=admit-all name=bridge_LAN vlan-filtering=yes

  2. YIKES< your diagram screams problem. You have multiple ports going from hex to tplink.
    FIX
    Take hex ports 2,3,4 and add them as one bonded interface and use balance xor as the mode ( mt equivalent to LAG ).
    Take tplink ports 6,7,8 and make them a LAG group.
    Not sure if it matters how plugged in, but why not: 2–>6, 3–>7 and 4–>8

Keep ether5 as an offbridge port to safely configure the hex vlans and bridge… (first step remove ether5 from bridge)
/interface ethernet
set ether5 name=OffBridge5
/ip address
add address=192.168.70.1**/30** interface=OffBridge5 network=192.168.70.0
/interface list
add interface=OffBridge5 list=LAN
add interface=OffBridge5 list=MNGMT

Then plug in your laptop to ether5, change ipv4 settings to 192.168.70.2 and you should have a safe spot to continue configuring the router!!!

I took some time to implement your advice and my network appears to be functional. Thank you for taking the time to help me out. Config file below. :

  • switched port connections around per your recommendation
  • bonded redundant connx in MT
  • started making my firewall rules
  • configured ether 5 for direct access / management
  • connected WAN port to my current router just to get WAN access and run updates / test. Will change once I have kinks smoothed out.

My LAN transfer speeds are quite slow right when connected to my AP, and I haven’t done any dedicated WiFi config yet, which may be part of the issue. Also, I have not tested wired speeds, nor have I tested transfer speeds between two clients on the same switch. That will come. Between learning more about that and iterating on my firewall rules, maybe start learning some bandwidth management/prioritization, hopefully I can fix that. If I can’t sort it out, I can create a new topic specific to those issues.

Thank you for your help so far. If you have any recommendations for learning material for say, router config for an AP attached to a switch, or bandwidth management, or anything else, I am all ears. The AP works and I have DHCP for each of the SSIDs, but I’m sure it could be made more efficient.

# 2025-03-15 10:55:25 by RouterOS 7.18.2
# software id = XXX
#
# model = RB760iGS
# serial number = XXX

/interface bridge
add comment="LAN Bridge" ingress-filtering=no name=bridge_LAN port-cost-mode=\
    short vlan-filtering=yes

/interface ethernet
set [ find default-name=ether1 ] comment=WAN
set [ find default-name=ether5 ] comment=admin_access
set [ find default-name=sfp1 ] advertise="10M-baseT-half,10M-baseT-full,100M-b\
    aseT-half,100M-baseT-full,1G-baseT-half,1G-baseT-full"

/interface vlan
add comment=cameras interface=bridge_LAN loop-protect=on name=eyes vlan-id=50
add comment="guests welcome" interface=bridge_LAN loop-protect=on name=guest \
    vlan-id=60
add comment="home private" interface=bridge_LAN loop-protect=on name=home \
    vlan-id=10
add comment=server interface=bridge_LAN loop-protect=on name=service vlan-id=\
    30
add comment=IoT interface=bridge_LAN loop-protect=on name=things vlan-id=20
add comment="work isolation" interface=bridge_LAN loop-protect=on name=work \
    vlan-id=40

/interface bonding
add mode=balance-xor name=bond_2-4 slaves=ether2,ether3,ether4

/interface list
add comment=WAN name=WAN
add comment="LAN bonded ports" name=LAN_bonded
add comment="VLAN interfaces" name=LAN_VLANs
add comment="LAN ethernet ports" name=LAN_Eth
add comment="bridge interface" name=LAN_bridge
add comment="admin ports" name=admin_port
add comment="interfaces allowed into router for admin" name=allowed_admins
add comment="SSH unauthorized LAN addresses" name=LAN_unauth
add comment="all LANS except server" name=LAN_X_Server
add comment="LANs except server and home" name=LAN_X_Server_X_home

/interface lte apn
set [ find default=yes ] ip-type=ipv4 use-network-apn=no

/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

/ip pool
add comment=home name=DHCP_home ranges=192.168.10.35-192.168.10.254
add comment=IoT name=DHCP_things ranges=192.168.20.15-192.168.20.254
add comment=server name=DHCP_service ranges=192.168.30.25-192.168.30.254
add comment=work name=DHCP_work ranges=192.168.40.15-192.168.40.254
add comment=camers name=DHCP_eyes ranges=192.168.50.35-192.168.50.254
add comment=guest name=DHCP_guest ranges=192.168.60.20-192.168.60.254
add comment=management name=DHCP_mgmnt ranges=192.168.0.25-192.168.0.254
add name=dhcp_pool7 ranges=192.168.10.30-192.168.10.254

/ip dhcp-server
add add-arp=yes address-pool=DHCP_things interface=things lease-time=1d name=\
    DHCP_things server-address=192.168.20.0
add address-pool=DHCP_service interface=service lease-time=1d name=\
    DHCP_service server-address=192.168.30.0
add address-pool=DHCP_work interface=work lease-time=1d name=DHCP_work \
    server-address=192.168.40.0
add add-arp=yes address-pool=DHCP_eyes interface=eyes lease-time=1d name=\
    DHCP_eyes server-address=192.168.50.0
add add-arp=yes address-pool=DHCP_guest interface=guest lease-time=1d name=\
    DHCP_guest server-address=192.168.60.0
add address-pool=DHCP_home interface=home lease-time=1d name=DHCP_home \
    server-address=192.168.10.0

/ip smb users
set [ find default=yes ] disabled=yes

/port
set 0 name=serial0

/routing bgp template
set default disabled=no output.network=bgp-networks

/routing ospf instance
add disabled=no name=default-v2

/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2

/interface bridge port
add bridge=bridge_LAN ingress-filtering=no interface=bond_2-4 \
    internal-path-cost=10 path-cost=10

/ip firewall connection tracking
set udp-timeout=10s

/ip neighbor discovery-settings
set discover-interface-list=!dynamic

/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192

/interface bridge vlan
add bridge=bridge_LAN comment=home_vlan tagged=bridge_LAN,bond_2-4 vlan-ids=\
    10
add bridge=bridge_LAN comment=guest_vlan tagged=bridge_LAN,bond_2-4 vlan-ids=\
    60
add bridge=bridge_LAN comment=eyes_vlan tagged=bridge_LAN,bond_2-4 vlan-ids=\
    50
add bridge=bridge_LAN comment=work_vlan tagged=bridge_LAN,bond_2-4 vlan-ids=\
    40
add bridge=bridge_LAN comment=service_vlan tagged=bridge_LAN,bond_2-4 \
    vlan-ids=30
add bridge=bridge_LAN comment=things_vlan tagged=bridge_LAN,bond_2-4 \
    vlan-ids=20

/interface list member
add comment="WAN port" interface=ether1 list=WAN
add comment="LAN bonded interface" interface=bond_2-4 list=LAN_bonded
add comment="admin access port" interface=ether5 list=admin_port
add interface=ether2 list=LAN_Eth
add interface=ether3 list=LAN_Eth
add interface=ether4 list=LAN_Eth
add interface=eyes list=LAN_VLANs
add interface=guest list=LAN_VLANs
add interface=home list=LAN_VLANs
add interface=service list=LAN_VLANs
add interface=things list=LAN_VLANs
add interface=work list=LAN_VLANs
add interface=bridge_LAN list=LAN_bridge
add interface=ether5 list=allowed_admins
add interface=home list=allowed_admins
add interface=work list=LAN_unauth
add interface=things list=LAN_unauth
add interface=service list=LAN_unauth
add interface=guest list=LAN_unauth
add interface=eyes list=LAN_unauth
add interface=work list=LAN_X_Server
add interface=eyes list=LAN_X_Server
add interface=guest list=LAN_X_Server
add interface=home list=LAN_X_Server
add interface=things list=LAN_X_Server
add interface=things list=LAN_X_Server_X_home
add interface=eyes list=LAN_X_Server_X_home
add interface=guest list=LAN_X_Server_X_home
add interface=work list=LAN_X_Server_X_home

/interface ovpn-server server
add auth=sha1,md5 mac-address=XXX name=XXX

/ip address
add address=192.168.10.1/24 comment=home interface=home network=192.168.10.0
add address=192.168.20.1/24 comment=IoT interface=things network=192.168.20.0
add address=192.168.30.1/24 comment=servers interface=service network=\
    192.168.30.0
add address=192.168.40.1/24 comment=work interface=work network=192.168.40.0
add address=192.168.50.1/24 comment=cameras interface=eyes network=\
    192.168.50.0
add address=192.168.60.1/24 comment=guest interface=guest network=\
    192.168.60.0
add address=192.168.0.1/24 comment="router IP" interface=bridge_LAN network=\
    192.168.0.0
add address=192.168.70.1/30 comment=eth5_access interface=ether5 network=\
    192.168.70.0

/ip dhcp-client
add comment="DHCP WAN" interface=ether1 use-peer-dns=no

/ip dhcp-server lease
add address=192.168.30.5 comment="server static ip reservation" mac-address=\
    90:E6:BA:93:BA:A3 server=DHCP_service
add address=192.168.10.5 comment="pc static ip reservation" mac-address=\
    70:85:C2:81:93:45 server=DHCP_home

/ip dhcp-server network
add address=192.168.10.0/24 comment=home dns-server=192.168.0.1 gateway=\
    192.168.10.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.20.0/24 comment=IoT dns-server=192.168.0.1 gateway=\
    192.168.20.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.30.0/24 comment=service dns-server=192.168.0.1 gateway=\
    192.168.30.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.40.0/24 comment=work dns-server=192.168.0.1 gateway=\
    192.168.40.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.50.0/24 comment=eyes dns-server=192.168.0.1 gateway=\
    192.168.50.1 netmask=24 ntp-server=192.168.0.1
add address=192.168.60.0/24 comment=guest dns-server=192.168.0.1 gateway=\
    192.168.60.1 netmask=24 ntp-server=192.168.0.1

/ip dns
set allow-remote-requests=yes servers=1.1.1.1,1.0.0.1,9.9.9.9,149.112.112.112

/ip firewall address-list
add address=192.168.0.1 comment=router list=core_hardware
add address=192.168.0.2 comment="PoE Switch" list=core_hardware
add address=192.168.0.6 comment="Non-PoE Switch" list=core_hardware
add address=192.168.0.3 comment="Indoor AP" list=core_hardware
add address=192.168.0.4 comment="Outdoor AP (FUTURE)" list=core_hardware
add address=192.168.0.5 comment="LR Switch" list=core_hardware
add address=192.168.0.5 comment="LR Switch" list=switches
add address=192.168.0.6 comment="Non-PoE Switch" list=switches
add address=192.168.0.2 comment="PoE Switch" list=switches
add address=192.168.0.3 comment="Indoor AP" list=waps
add address=192.168.0.4 comment="Outdoor AP (FUTURE)" list=waps
add address=192.168.1.30 comment="Temp router address for config" list=\
    core_hardware

/ip firewall filter
add action=drop chain=input comment="drop invalid to router" \
    connection-state=invalid
add action=drop chain=forward comment="drop invalid fwd" connection-state=\
    invalid
add action=drop chain=output comment="drop invalid from router" \
    connection-state=invalid
add action=accept chain=input comment="allow est/rel to router" \
    connection-state=established,related
add action=accept chain=output comment="allow est/rel out" connection-state=\
    established,related
add action=fasttrack-connection chain=forward comment="allow fwd est/rel" \
    connection-state=established,related hw-offload=yes
add action=accept chain=input comment="allow eth 5 admin" connection-state=\
    established,related,new dst-address=192.168.70.1 in-interface=ether5 \
    src-address=192.168.70.2
add action=accept chain=forward comment=\
    "allow trusted admins access to core hardware" connection-state=\
    established,related,new dst-address-list=core_hardware in-interface-list=\
    allowed_admins log=yes log-prefix=core_ out-interface=bridge_LAN
add action=accept chain=output comment="allow HTTP/S, DNS out" \
    connection-state=new dst-port=53,80,8080,443,8443 out-interface-list=WAN \
    protocol=tcp
add action=accept chain=output comment="allow DNS / NTP out - UDP" \
    connection-state=new dst-port=53,123 out-interface-list=WAN protocol=udp
add action=accept chain=forward comment=\
    "srv_allow home access to services - TCP" connection-state=\
    established,related,new dst-address=192.168.30.5 dst-port=\
    8000,8081,8096,9000,9090,9443,10000,32400,32469 in-interface=home \
    protocol=tcp
add action=accept chain=forward comment=\
    "srv_allow home access to services - UDP" connection-state=\
    established,related,new dst-address=192.168.30.5 dst-port=\
    10000,32410,32412,32413,32414,36623,7359 in-interface=home protocol=udp
add action=accept chain=forward comment=\
    "srv_allow home / admins SSH and SMB access to server" connection-state=\
    established,related,new dst-address=192.168.30.5 dst-port=2202,139,445 \
    in-interface-list=allowed_admins log-prefix=SSH+SMB_ out-interface=\
    service protocol=tcp
add action=accept chain=forward comment="allow some IoT to access Plex/Jellyfi\
    n services !!AMEND to allow per IP once fully deployed!!" \
    connection-state=established,related,new dst-address=192.168.30.5 \
    dst-port=32400,8096,8920 in-interface=things log=yes log-prefix=MED_ \
    out-interface=service protocol=tcp
add action=accept chain=forward comment="allow admins to access all VLANs" \
    connection-state=established,related,new in-interface-list=allowed_admins \
    out-interface-list=LAN_VLANs
add action=drop chain=forward comment=\
    "srv_log and drop attempts SSH / SMB to server" connection-state=\
    established,related,new,untracked dst-address=192.168.30.5 dst-port=\
    139,445,22,2202 in-interface-list=!allowed_admins log=yes log-prefix=SRV_ \
    protocol=tcp
add action=drop chain=input comment="Deny IN all else" dst-address=0.0.0.0 \
    src-address=0.0.0.0
add action=drop chain=output comment="Deny OUT all else" dst-address=0.0.0.0 \
    src-address=0.0.0.0
add action=drop chain=forward comment="Deny FWD all else" dst-address=0.0.0.0 \
    src-address=0.0.0.0

/ip firewall nat
add action=masquerade chain=srcnat out-interface-list=WAN

/ip ipsec profile
set [ find default=yes ] dpd-interval=2m dpd-maximum-failures=5

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh port=2202
set api disabled=yes
set api-ssl disabled=yes

/ip smb shares
set [ find default=yes ] directory=/flash/pub

/ip ssh
set always-allow-password-login=XX host-key-size=XXX

/routing bfd configuration
add disabled=no interfaces=all min-rx=200ms min-tx=200ms multiplier=5

/system clock
set time-zone-name=America/New_York

/system note
set show-at-login=no

/system ntp client
set enabled=yes

/system ntp client servers
add address=0.pool.ntp.org
add address=1.pool.ntp.org
add address=2.pool.ntp.org
add address=3.pool.ntp.org

Well all the ports are 1gig, the Hex can route about 250-300 Mbps, so that may be your limiting factor, but more likely its the AP throughput.
Six vlans but 8? pools?

You are still confused
a. please remove any IP address assigned to the bridge, it does no dhcp on vlan bridge filtering, to keep it simple clear and efficient.
add address=192.168.0.1/24 comment=“router IP” interface=bridge_LAN network=192.168.0.0

This is actually the IP address of your management VLAN…
add address=192.168.0.1/24 comment=“router IP” interface=management network=192.168.0.0

Which it seems you forgot to define so add it:
add comment=admin interface=bridge_LAN name=management vlan-id=5

b. please remove duplicate pool 7, it serves no purpose
/ip pool
add comment=home name=DHCP_home ranges=192.168.10.35-192.168.10.254
add comment=IoT name=DHCP_things ranges=192.168.20.15-192.168.20.254
add comment=server name=DHCP_service ranges=192.168.30.25-192.168.30.254
add comment=work name=DHCP_work ranges=192.168.40.15-192.168.40.254
add comment=camers name=DHCP_eyes ranges=192.168.50.35-192.168.50.254
add comment=guest name=DHCP_guest ranges=192.168.60.20-192.168.60.254
add comment=management name=DHCP_mgmnt ranges=192.168.0.25-192.168.0.254

add name=dhcp_pool7 ranges=192.168.10.30-192.168.10.254

c. this should be
/interface bridge port
add bridge=bridge_LAN ingress-filtering=yes frame-types=admit-only-vlan-tagged interface=bond_2-4

d. Since the vlan traffic is all tagged and identical only need one line here:
/interface bridge vlan
add bridge=bridge_LAN tagged=bridge_LAN,bond_2-4 vlan-ids=5,10,20,30,40,50,60

e. BIG change needed to interface list members.
/interface list member
add comment=“WAN port” interface=ether1 list=WAN
add interface=eyes list=LAN_VLANs
add interface=guest list=LAN_VLANs
add interface=home list=LAN_VLANs
add interface=service list=LAN_VLANs
add interface=things list=LAN_VLANs
add interface=work list=LAN_VLANs
add interface=ether5 list=LAN_VLANs
add interface=management list=LAN_VLANs
add interface=ether5 list=allowed_admins
add interface=home list=allowed_admins
add interface=management list=allowed_admins

and nothing else!

f. For firewall rules, no need for address lists etc except what is shown.
Rules much simplified and accomplish all you wanted.
You should note that accessing other smart devices does not require any address list.
To manage other networking devices they will simply be on the management VLAN as they all will get an IP on that subnet.
Thus the single forward chain admin associated rule allows one to access any downstream device.

/ip firewall-address list
add address=192.168.20.X list=iot2plex
add address=192.168.20.Y list=iot2plex
add address=192.168.20.Z list=iot2plex

/ip firewall filter ( order within chain is important )
{ default rules to keep }
add action=accept chain=input connection-state=established,related
add action=drop chain=input connection-state=invalid
add action=accept chain=input protocol=icmp
(admin rules)

add action=accept chain=input comment=“admin access” in-interface-list=allowed_admins
add action=accept chain=input comment=“users to services” in-interface-list=LAN_VLANs dst-port=53 protocol=udp
add action=accept chain=input comment=“users to services” in-interface-list=LAN_VLANs dst-port=53 protocol=tcp
add action=drop chain=input comment=“drop all else”
{ insert this rule here, last of all rules to avoid getting locked out }
+++++++++++++++++++++
{ default rules to keep }
add action=fasttrack-connection chain=forward connection-state=established,related
add action=accept chain=forward connection-state=established,related,untracked
add action=drop chain=forward connection-state=invalid

(admin rules)
add action=accept chain=forward comment=“internet traffic” in-interface-list=VLANs out-interface-list=WAN
add action=accept chain=forward comment=“admin to VLANs” in-interface-list=allowed_admins out-interface-list=LAN_VLANs
add action=accept chain=foward comment=“iot to Plex” in-interface=things src-address-list=iot2plex dst-address=192.168.30.5
add action=drop chain=forward comment=“drop all else”

g. This needs to be specific to allow secure access of all devices, at least the MT ones.
/ip neighbor discovery-settings
set discover-interface-list=allowed_admins

h. missing needs to be added:
/tool mac-server
set allowed-interface-list=none
/tool mac-server mac-winbox
set allowed-interface-list=allowed_admins

Everything seems to be up and running. I have the MT fully deployed as my primary router and it’s working nicely. Thank you for the help. I marked your initial suggestion as the solution.

I am running into a firewall issue with some of the rules you suggested, but I will put them in a new post.

I’ve been reading a lot of these types of questions on the forums to try to learn. You’re responses were quite clear and helpful. Can you think of any other resources you could share for learning this topic better? I’m planning an upgrade and this question seems very much like what I will end up needing to do. I would like to understand it better. Thanks!

ETA: I’m currently making notes from this topic you referenced - http://forum.mikrotik.com/t/using-routeros-to-vlan-your-network/126489/1

Create your own EVE-NG or GNS3 type lab environment…

Thanks for that. I’d never heard of those before.