For me it doesn’t look ok, because lo doesn’t actually represent LAN. Eventually you could have some case when you have to have it separate. So my suggestion is to make an explicit accept rule for lo interface and place it before drop rule:
You didn’t specify for which device this is but for most there should already be an input accept for 127.0.0.1 from default firewall (for capsman).
That also covers lo.
In case you removed that rule, I suggest you put it back.
As already stated above, there’s a defconf rule to accept input from loopback (commented for CAPsMAN) on some devices, so you probably already had the rule but accidentally removed it.
It’s an ax3, but it’s just my testing/learning/modeling MT device.
I do indeed have the default input accept 127.0.0.1 rule:
/ip firewall
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" \
in-interface-list=!LAN log=yes log-prefix=not-coming-from-LAN
But, that default input accept 127.0.0.1 rule wasn’t catching the packets from “lo”
When I remove “lo” from the LAN list, the firewall log reads:
not-coming-from-LAN input: in:lo out:(unknown 0), connection-state:new proto UDP, 127.0.0.1:5678->255.255.255.255:5678, len 169
And that traffic is being sent to broadcast address … since only device, attached to that “network”, is sender itself, it won’t get any answer … like ever. So dropping this traffic doesn’t change anything.
It would be different, if some service would try to connect another internal service, in which case destination IP address would be 127.0.0.1 and that FW rule would allow it.
I see that 5678 is the neighbor discovery port, so it could just be that the router (127.0.0.1) is sending out these broadcasts and the filter is rejecting them.
I turned off ip/neighbory discovey and the firewall has not caught these packets since then.
I’m pretty sure that router, when ND is enabled, sends out packets to broadcast address via all interfaces (which includes lo). And again, as I wrote, sending traffic to broadcast on lo won’t yield any response. Which means that dropping such traffic doesn’t do any harm. The only issue here is your setting for FW filter rule to actually log affected traffic.
I wouldn’t disable ND, it does come handy from time to time (e.g. when winbox builds a list of ROS devices attached to same L2 network).