Due to the fact that I have many different devices I started segmenting my network into distinct separate networks.
Now after several issues of orders I think I’ve build an order I can live with but which doesn’t necessary mean that’s also somewhat secure or even good and would therefore ask for improvement on the filter rules.
For clarification: I have 4 networks: TrustedDevices, Smarthome, MediaZone and Guests. Guests is not part of the firewall rules because my wireless AP has client isolation (is this correct, or should I still put ip filtering for that network because I am missing some OSI Layer with that?). My WAN is connected to ether1 (pinging my router from WAN should not be possible)
/ip firewall filter
add action=accept chain=input comment="defconf: accept established,related" connection-state=established,related
add action=drop chain=input comment="defconf: drop all from WAN" in-interface=ether1 log-prefix="DROP WAN"
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" connection-state=established,related
add action=accept chain=forward comment="defconf: accept established,related" connection-state=established,related
add action=accept chain=input comment="Accept ICMP to router from all devices. Even WAN (if not below 'drop all from WAN')" protocol=icmp
add action=drop chain=forward comment="Prevent Media reaching smarthome" in-interface=MediaZone out-interface=Smarthome
add action=drop chain=forward comment="Prevent Smarthome reaching Trusted" in-interface=Smarthome out-interface=TrustedDevices
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=ether1
Beside the network isolation I also reordered the other rules so that the most valid one come first without breaking the logic of the filtering.
Any advise on that setup would be great.
I am aware that it would be safer to drop everything first and then configure the accept rules but for some reason I feel not yet ready to lock myself out more often than I already did ![]()