I think that should be
add chain=forward src-address-list=vlan10<-- here you need all, not only new connections
add chain=forward connection-state=established,related src-address-list=vlan20
add action=drop chain=forward in-interface=interf_vlan20 out-interface=interf_vlan10
Hi,
I have Mikrotik RB951 as gateway Router and DHCP Server then a trunk to Catalyst 2960 Series Switch... set 6 VLANS (100-600) and servers are in VLAN -100. I have followed what Docmarius wrote and added something like here in red "add action=accept chain=forward comment=2>1
dst-address-list=100src-address-list=200" (i have added a destination address since it was not working with source address only). I have managed to filter traffic between VLANs, all the VLANs are able to reach VLAN-100 and access internet but they are unable to see each other as per my expectations.
Please see below configs and advise if there is any redundancy

.
/ip firewall address-list
add address=10.5.51.0/24 list=100
add address=10.5.53.0/24 list=300
add address=10.5.54.0/24 list=400
add address=10.5.55.0/24 list=500
add address=10.5.52.0/24 list=200
add address=10.5.56.0/24 list=600
/ip firewall filter
add action=accept chain=forward comment="Accept traffic from VLAN subnets to WAN" out-interface=ether4-Gateway
add action=accept chain=forward comment=2>1
dst-address-list=100src-address-list=200
add action=accept chain=forward comment=2<>1 connection-state=established,related src-address-list=100
add action=accept chain=forward comment=3>1 dst-address-list=100 src-address-list=300
add action=accept chain=forward comment=3<>1 connection-state=established,related src-address-list=100
add action=accept chain=forward comment=4>1 dst-address-list=100 src-address-list=400
add action=accept chain=forward comment=4<>1 connection-state=established,related src-address-list=100
add action=accept chain=forward comment=5>1 dst-address-list=100 src-address-list=500
add action=accept chain=forward comment=5<>1 connection-state=established,related src-address-list=100
add action=accept chain=forward comment=6>1 dst-address-list=100 src-address-list=600
add action=accept chain=forward comment=6<>1 connection-state=established,related src-address-list=100
add action=drop chain=forward dst-address=10.5.54.0/24 src-address=10.5.52.0/24
add action=reject chain=forward comment="Block Communication between all VLAN subnets" reject-with=icmp-net-prohibited src-address=10.5.52.1-10.5.255.255