Hello again.
Finally - had time again to revisit my firewall. This is what I have now. The good news - the major stuff is working. I haven't spent time yet on getting my Wireguard VPN working, but that's not a big issue at the moment. What I AM happy about is that I figured out how to implement firewall rules to separate the VLAN traffic where I need to.
Here is my config, exported with hide-sensitive and further cleaned up by using xx in IP addresses and names:
mar/20/2022 13:56:55 by RouterOS 7.1
software id = 72VR-1FM3
model = RB750Gr3
serial number = D5030E3E8970
/interface ethernet
set [ find default-name=ether1 ] name=ether1-WAN
set [ find default-name=ether5 ] comment="Management port" name=ether5-access
/interface wireguard
add listen-port=13231 mtu=1420 name=wireguard1
/interface vlan
add interface=ether2 name=GuestWifi vlan-id=30
add interface=ether2 name=LAN vlan-id=10
add interface=ether2 name=Phone vlan-id=40
add interface=ether2 name=Tina-TWORK vlan-id=50
add interface=ether2 name=Wifi vlan-id=20
/interface list
add comment="All VLANs list" name=VLANs
add comment=WAN name=WAN
add name=VLAN30
add name=VLAN10
/interface lte apn
set [ find default=yes ] ip-type=ipv4
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip ipsec peer
add address=184.xx.xx.xx/32 local-address=184.xx.xx.xx name=WORK
/ip ipsec profile
set [ find default=yes ] dh-group=modp1024 dpd-interval=10s enc-algorithm=3des hash-algorithm=md5 lifetime=8h name=WORK nat-traversal=no
/ip ipsec proposal
set [ find default=yes ] disabled=yes
add enc-algorithms=3des lifetime=8h name=WORK
/ip pool
add comment=VLAN-10 name=LAN ranges=192.168.10.40-192.168.10.60
add comment=Management name=Ether5-access ranges=192.168.100.10-192.168.100.20
add comment=VLAN-20 name=Wifi ranges=192.168.20.2-192.168.20.254
add comment=VLAN-30 name=GuestWifi ranges=192.168.30.2-192.168.30.254
add comment=VLAN-40 name=Phone ranges=192.168.40.2-192.168.40.254
add comment=VLAN-50 name=Tina-TWORK ranges=192.168.50.2-192.168.50.254
/ip dhcp-server
add address-pool=LAN interface=LAN name=LAN
add address-pool=Ether5-access interface=ether5-access name=dhcp1
add address-pool=Wifi interface=Wifi name=Wifi
add address-pool=GuestWifi interface=GuestWifi name=GuestWifi
add address-pool=Phone interface=Phone name=Phone
add address-pool=Tina-TWORK interface=Tina-TWORK name=dhcp2
/port
set 0 name=serial0
/routing bgp template
set default as=65530 disabled=no name=default output.network=bgp-networks
/routing ospf instance
add name=default-v2
/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface list member
add interface=LAN list=VLANs
add interface=Wifi list=VLANs
add interface=GuestWifi list=VLANs
add interface=Phone list=VLANs
add interface=Tina-TWORK list=VLANs
add interface=ether1-WAN list=WAN
add interface=GuestWifi list=VLAN30
add interface=LAN list=VLAN10
/interface wireguard peers
add allowed-address=192.168.60.2/24,192.168.60.3/24 interface=wireguard1 public-key="fvSavRzRKl7cZvMKwfkpI/GfAVG2FXsMarP+NCHKpgI="
/ip address
add address=172.16.16.1/24 disabled=yes interface=ether5-access network=172.16.16.0
add address=192.168.10.1/24 comment=VLAN10 interface=LAN network=192.168.10.0
add address=192.168.20.1/24 comment=VLAN20 interface=Wifi network=192.168.20.0
add address=192.168.30.1/24 comment=VLAN30 interface=GuestWifi network=192.168.30.0
add address=192.168.40.1/24 comment=VLAN40 interface=Phone network=192.168.40.0
add address=192.168.50.1/24 comment=VLAN50 interface=Tina-TWORK network=192.168.50.0
add address=192.168.60.1/24 interface=wireguard1 network=192.168.60.0
add address=184.68.82.26/29 interface=ether1-WAN network=184.xx.xx.xx
add address=192.168.100.1/24 interface=ether5-access network=192.168.100.0
/ip dhcp-server lease
add address=192.168.10.4 client-id=1:18:c0:4d:26:b8:1d comment="Marcel's PC" mac-address=18:C0:4D:26:B8:1D server=LAN
add address=192.168.10.2 client-id=ff:5e:4f:ac:2d:0:1:0:1:29:60:9d:fc:e0:d5:5e:4f:ac:2d comment="File server" mac-address=E0:D5:5E:4F:AC:2D server=LAN
/ip dhcp-server network
add address=192.168.10.0/24 dns-server=192.168.10.11 gateway=192.168.10.1
add address=192.168.20.0/24 dns-server=192.168.10.11 gateway=192.168.20.1
add address=192.168.30.0/24 dns-server=192.168.10.11 gateway=192.168.30.1
add address=192.168.40.0/24 dns-server=192.168.10.11 gateway=192.168.40.1
add address=192.168.50.0/24 dns-server=192.168.10.11 gateway=192.168.50.1
add address=192.168.100.0/24 dns-server=8.8.8.8 gateway=192.168.100.1
/ip dns
set servers=192.168.10.11
/ip firewall address-list
add address=0.0.0.0/8 comment="defconf: RFC6890" list=no_forward_ipv4
add address=169.254.0.0/16 comment="defconf: RFC6890" list=no_forward_ipv4
add address=224.0.0.0/4 comment="defconf: multicast" list=no_forward_ipv4
add address=255.255.255.255 comment="defconf: RFC6890" list=no_forward_ipv4
add address=127.0.0.0/8 comment="defconf: RFC6890" list=bad_ipv4
add address=192.0.0.0/24 comment="defconf: RFC6890" list=bad_ipv4
add address=192.0.2.0/24 comment="defconf: RFC6890 documentation" list=bad_ipv4
add address=198.51.100.0/24 comment="defconf: RFC6890 documentation" list=bad_ipv4
add address=203.0.113.0/24 comment="defconf: RFC6890 documentation" list=bad_ipv4
add address=240.0.0.0/4 comment="defconf: RFC6890 reserved" list=bad_ipv4
add address=0.0.0.0/8 comment="defconf: RFC6890" list=not_global_ipv4
add address=10.0.0.0/8 comment="defconf: RFC6890" list=not_global_ipv4
add address=100.64.0.0/10 comment="defconf: RFC6890" list=not_global_ipv4
add address=169.254.0.0/16 comment="defconf: RFC6890" list=not_global_ipv4
add address=172.16.0.0/12 comment="defconf: RFC6890" list=not_global_ipv4
add address=192.0.0.0/29 comment="defconf: RFC6890" list=not_global_ipv4
add address=192.168.0.0/16 comment="defconf: RFC6890" list=not_global_ipv4
add address=198.18.0.0/15 comment="defconf: RFC6890 benchmark" list=not_global_ipv4
add address=255.255.255.255 comment="defconf: RFC6890" list=not_global_ipv4
add address=224.0.0.0/4 comment="defconf: multicast" list=bad_src_ipv4
add address=255.255.255.255 comment="defconf: RFC6890" list=bad_src_ipv4
add address=0.0.0.0/8 comment="defconf: RFC6890" list=bad_dst_ipv4
add address=224.0.0.0/4 comment="defconf: RFC6890" list=bad_dst_ipv4
add address=192.168.10.1-192.198.10.254 comment="Inverse VLAN-30 group" list="Inverse VLAN-30"
add address=192.168.20.2-192.198.20.254 list="Inverse VLAN-30"
add address=192.168.40.2-192.198.40.254 list="Inverse VLAN-30"
add address=192.168.50.2-192.198.50.254 list="Inverse VLAN-30"
add address=192.168.10.2-192.198.10.254 comment="Inverse VLAN-40 group" list="Inverse VLAN-40"
add address=192.168.20.2-192.198.20.254 list="Inverse VLAN-40"
add address=192.168.30.2-192.198.30.254 list="Inverse VLAN-40"
add address=192.168.50.2-192.198.50.254 list="Inverse VLAN-40"
add address=192.168.10.2-192.198.10.254 comment="Inverse VLAN-20 group" list="Inverse VLAN-20"
add address=192.168.30.2-192.198.30.254 list="Inverse VLAN-20"
add address=192.168.40.2-192.198.40.254 list="Inverse VLAN-20"
add address=192.168.50.2-192.198.50.254 list="Inverse VLAN-20"
add address=192.168.10.2-192.198.10.254 comment="Inverse VLAN-50 group" list="Inverse VLAN-50"
add address=192.168.20.2-192.198.20.254 list="Inverse VLAN-50"
add address=192.168.30.2-192.198.30.254 list="Inverse VLAN-50"
add address=192.168.40.2-192.198.40.254 list="Inverse VLAN-50"
add address=192.168.10.0/24 list="All VLANs"
add address=192.168.20.0/24 list="All VLANs"
add address=192.168.30.0/24 list="All VLANs"
add address=192.168.40.0/24 list="All VLANs"
add address=192.168.50.0/24 list="All VLANs"
/ip firewall filter
add action=accept chain=input comment="Wireguard UDP" connection-state="" dst-port=13231 protocol=udp
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=drop chain=input comment="defconf: drop all not coming from VLANs" in-interface-list=!VLANs
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" psec-policy=out,ipsec
add action=accept chain=forward comment="defconf: accept established,related, untracked" connection-state=established,related,untracked
add action=accept chain=forward comment="All VLANs to DNS" connection-nat-state="" connection-state="" dst-address=192.168.10.11 src-address-list="All VLANs"
add action=accept chain=forward comment="Allow VLAN-10 to other VLANs" connection-nat-state="" connection-state="" disabled=yes dst-address=192.168.30.0/24 log=yes src-address=192.168.10.0/24
add action=drop chain=forward comment="Block VLAN-20 to other VLANs" connection-nat-state="" connection-state="" dst-address-list="Inverse VLAN-20" src-address=192.168.20.0/24
add action=drop chain=forward comment="Block VLAN-30 to other VLANs" connection-nat-state="" connection-state="" dst-address-list="Inverse VLAN-30" src-address=192.168.30.0/24
add action=drop chain=forward comment="Block VLAN-40 to other VLANs" connection-nat-state="" connection-state="" dst-address-list="Inverse VLAN-40" src-address=192.168.40.0/24
add action=drop chain=forward comment="Block VLAN-50 to other VLANs" connection-nat-state="" connection-state="" dst-address-list="Inverse VLAN-50" src-address=192.168.50.0/24
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related hw-offload=yes
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=accept chain=srcnat comment="IP phone NAT rule" dst-address=10.1.2.0/24 src-address=192.168.40.0/24
add action=masquerade chain=srcnat comment="LAN to Internet MASQuerading"
add action=dst-nat chain=dstnat comment=Pihole dst-address=!192.168.10.11 dst-port=53 in-interface=!ether1-WAN protocol=udp src-address=!192.168.10.11 to-addresses=192.168.10.11
add action=dst-nat chain=dstnat comment=Pihole dst-address=!192.168.10.11 dst-port=53 in-interface=!ether1-WAN protocol=tcp src-address=!192.168.10.11 to-addresses=192.168.10.11
add action=masquerade chain=srcnat comment=Pihole dst-address=192.168.10.11 dst-port=53 protocol=udp src-address=192.168.10.0/24
add action=masquerade chain=srcnat comment=Pihole dst-address=192.168.10.11 dst-port=53 protocol=tcp src-address=192.168.10.0/24
/ip firewall raw
add action=notrack chain=prerouting dst-address=10.1.2.0/24 src-address=192.168.40.0/24
add action=notrack chain=prerouting dst-address=192.168.40.0/24 src-address=10.1.2.0/24
/ip firewall service-port
set ftp disabled=yes
set tftp disabled=yes
set irc disabled=yes
set h323 disabled=yes
set sip disabled=yes
set pptp disabled=yes
set udplite disabled=yes
set dccp disabled=yes
set sctp disabled=yes
/ip ipsec identity
add peer=WORK
/ip ipsec policy
add dst-address=10.1.2.0/24 peer=WORK proposal=WORK src-address=192.168.40.0/24 tunnel=yes
set 1 disabled=yes
/ip route
add disabled=no distance=1 dst-address=0.0.0.0/0 gateway=184.xx.xx.xx pref-src="" routing-table=main scope=30 suppress-hw-offload=no target-scope=10
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
/system clock
set time-zone-name=America/Winnipeg
/tool sniffer
set file-name=Wireshark filter-interface=Tina-TWORK memory-limit=1000KiB
Hopefully this is much closer to a safer firewall than before. As always, suggestions are appreciated.