Hi,
I have an issue with VRF & firewall rules in v7.15: src/dst-address-type=!local matches local addresses.
Suppose you have a few WAN interfaces, one of them assigned to a separate VRF, and you would like to filter packets based on whether they have a local address as destination or not. Then the following rule matches all incoming packets with a non-local destination:
/ip firewall filter
add action=accept chain=input dst-address-type=!local in-interface-list=WAN log=yes log-prefix="wan non-local"
It works well for all WAN interfaces assigned to main VRF. For the WAN interfaces assigned to a separate VRF, this rule is triggered for both local and non-local destination addresses, i.e. v7.15 firewall treats any destination addresses of all packets incoming to non-main-VRF interfaces as non-local (because an automatically created VRF interface has no address?) and doesn’t take into account the addresses assigned to such interfaces.
Suppose it happens due to the changes made in v7.15 with regards to VRF interface matching in firewall as described by the official manual
here.
Reported it to the support 5 days ago (SUP-153295). No answer yet, though it seems to have some undesired security implications (e.g. if you intend to drop non-local traffic, it will also drop local traffic).
Can anybody else confirm this wrong firewall behaviour with VRFs?
Regards,