Hi Mur,
Sorry about that will dial it back and try to explain more so it becomes clearer.
First comment is dont mix and match input and forward chain rules.
List all the input rules together in the order in which they should be actioned, followed by the forward chain rules as I did below.
In general, If those are default rules then they do no harm.
They are usually intended to cover off all the possible services you may use on the router such as ipsec (VPNS) or capsman etc…
They can be removed if not using those services but if you leave them there, no harm done.
/ip firewall filter
{input chain}
add action=accept chain=input comment="defconf: accept established,related" connection-state=established,related
add action=drop chain=input comment="defconf: drop invalid" connection-state=invalid
add action=drop chain=input comment="defconf: drop all not coming from LAN" in-interface-list=!LAN
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
{forward chain}
add action=accept chain=forward comment="defconf: accept established,related" connection-state=established,related
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
+++++++++++++++++++++++++++++++++++++++
add action=allow chain=forward comment="allow port forwarding" connection-nat-state=dstnat
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
So using this as as starting point.
(1) Next you want to ensure that the subnet on the bridge cannot talk to the subnet off the bridge and vice versa. Since they are separated by a bridge, they will not see each other in Layer2.
To stop the router from routing them (layer3), simply add a last rule to the Forward chain. When someone tries to reach the other subnet either way, the firewall will go through your list of rules to find a match and if so execute the rule. If there is no match it will move to the next rule. In our case it will reach the last rule and drop the request.
You could make up two Drop Rules subnet A to subnet B drop, and subnet B to subnet A drop, but that is less efficient than one simple rule. Imagine if one has many interfaces, bridges, vlans etc, it gets messy fast!!
(2) Next you want to be able to from a single PC on the bridge to access a single PC on the other subnet.
Add any user made rules where I put the line ++++++++++++++++++
As per the previous example, the Router will examine your forward chain rules and when it finds the rule that matches it will execute that rule and allow your traffic to reach the PC and any return traffic associated. Note it will NOT allow the other PC to initiate any conversation or reach your PC. (since we did not make a rule allowing that, and thus such a request as per above would get dropped by the Last Rule.
{forward chain}
add action=accept chain=forward comment="defconf: accept established,related" connection-state=established,related
add action=drop chain=forward comment="defconf: drop invalid" connection-state=invalid
add action=accept chain=forward destination-address=192.168.10.2 (target PC) source-address=192.168.8.100 (your PC) in-interface=bridge (request has to originate from the bridge)
add action=allow chain=forward comment="allow port forwarding" connection-nat-state=dstnat
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=drop chain=forward comment="Drop all else"