Network design
The network plan below is my intended network. The 4 ‘servers’ in the top left are 4 Raspberry Pi’s. They are connected to the HeX PoE router. This connection is through Ethernet, port 1 on the HeX which connects to port 2 on the CloudSwitch. The CloudSwitch in turn is connected to my FRITZ!Box router with it’s port 1 (this device is not connected yet).
My native (untagged) VLAN is 10, all systems should be able to reach each other via that one. All the other VLANs should be tagged. Only particular workstations should be able to tag VLAN 11. In this case port 7 on the CloudSwitch. The goal is therefore that I should be able to reach the VLAN 11 virtual interfaces on the Raspberry Pi’s, but only from that port. Port 2 on the CloudSwitch is a trunk port and it forwards VLAN 10, 11, 12 to the HeX.
Furthermore, on the HeX is a basic firewall, which isn’t configured properly at the moment. But it will offer some basic protection. The Raspberry Pi hosts will have a firewalld solution and the FRITZ!Box will also have a firewall (NAT).

My HeX PoE configuration
[admin@MikroTik] > export hide-sensitive
# 1970-01-02 05:47:51 by RouterOS 7.10.2
# software id = A1GI-TFVF
#
# model = RB960PGS
# serial number = guessit
/interface bridge
add admin-mac=CC:2D:E0:81:0A:BE auto-mac=no comment=defconf name=bridge priority=0x7000 pvid=10 vlan-filtering=yes
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip hotspot profile
set [ find default=yes ] html-directory=hotspot
/ip pool
add name=dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=dhcp disabled=yes interface=bridge lease-time=10m name=defconf
/interface bridge port
add bridge=bridge comment=defconf interface=ether2 pvid=10
add bridge=bridge comment=defconf interface=ether3 pvid=10
add bridge=bridge comment=defconf interface=ether4 pvid=10
add bridge=bridge comment=defconf interface=ether5 pvid=10
add bridge=bridge comment=defconf interface=sfp1 pvid=10
add bridge=bridge interface=ether1 pvid=10
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface bridge vlan
add bridge=bridge untagged=bridge,ether1,ether2,ether3,ether4,ether5,sfp1 vlan-ids=10
add bridge=bridge tagged=ether1,ether2,ether3,ether4,ether5 vlan-ids=11
add bridge=bridge tagged=ether2,ether3,ether4,ether5 vlan-ids=12
/interface list member
add comment=defconf interface=ether1 list=WAN
add interface=ether2 list=LAN
add interface=ether3 list=LAN
add interface=ether4 list=LAN
add interface=ether5 list=LAN
add interface=sfp1 list=LAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=ether2 network=192.168.88.0
/ip dhcp-client
add comment=defconf disabled=yes interface=bridge
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=192.168.88.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan
/ip firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment="defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" disabled=yes in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related hw-offload=yes
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" ipsec-policy=out,none out-interface-list=WAN
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" port=33434-33534 protocol=udp
add action=accept chain=input comment="defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=input comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept established,related,untracked" connection-state=established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=forward comment="defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=ipsec-esp
add action=accept chain=forward comment="defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment="defconf: drop everything else not coming from LAN" in-interface-list=!LAN
/system note
set show-at-login=no
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN
I can’t export a plain text config for my CloudSwitch, so here are some screenshots. Basically the device is running a default config. I only configured the VLANs.



The question/problem
- When I connect my HeX PoE to my CloudSwitch (port 1 → port 2), then I cannot reach the dashboard of the CloudSwitch anymore. Both have different IPs. The HeX has 192.168.88.1 and the CloudSwitch has 192.168.88.2. So maybe it has to do with RSTP? That it blocks the port due for some reason? As already explained, my own laptop is directly connected to the CloudSwitch at the moment on port 7. I am still able to ping/ssh onto the Raspberry Pi’s through VLAN 10. I just cannot open the CloudSwitch web dashboard anymore.
Already found the answer for this one, the DHCP was enabled on the HeX bridge, so therefore it got a lease and a different gateway I suppose? In any case, disabling the DHCP server on the HeX solves this issue.
- I also would like to know if this VLAN setup is suppose to work as I describe. Specifically it if would really allow VLAN 10 in the entire network, and only allow certain VLANs between the Raspberry Pi’s and any device that’s allowed to tag e.g. VLAN 11 on the CloudSwitch. My testing so far indicates it works as designed, but need to do more testing. Maybe the experienced config guru’s already spot issues.