Another test:
I have these interfaces with these ip addresses. I have forward filter which includes only the interface ether5 (not vrrp5). I begin to ping the target, and during the echo request/reply I change the service ip between the real and vrrp interface with command:
/ip address disable number=4; /ip address enable number=3
I also added a log rule in the forwarding chain at the first place.
2 192.168.99.99/24 192.168.99.0 ether5
3 X 192.168.99.100/24 192.168.99.0 vrrp5
4 192.168.99.100/24 192.168.99.0 ether5
This is the log during icmp echo request, while I change the ip “location”:
The log shows: (log is the first passthrough rule in the forward chain)
05:02:11 firewall,info forward eleje forward: in:ether1 out:ether5, src-mac 00:1b:21:9a:2f:a6, proto ICMP (type 8, code 0), 192.168.90.1->192.168.99.1, len 84
05:02:11 firewall,info forward eleje forward: in:ether5 out:ether1, src-mac cc:2d:e0:d8:b9:2a, proto ICMP (type 0, code 0), 192.168.99.1->192.168.90.1, len 84
05:02:12 firewall,info forward eleje forward: in:ether1 out:ether5, src-mac 00:1b:21:9a:2f:a6, proto ICMP (type 8, code 0), 192.168.90.1->192.168.99.1, len 84
05:02:12 firewall,info forward eleje forward: in:vrrp5 out:ether1, src-mac cc:2d:e0:d8:b9:2a, proto ICMP (type 0, code 0), 192.168.99.1->192.168.90.1, len 84
05:02:13 firewall,info forward eleje forward: in:ether1 out:vrrp5, src-mac 00:1b:21:9a:2f:a6, proto ICMP (type 8, code 0), 192.168.90.1->192.168.99.1, len 84
05:02:13 firewall,info forward eleje forward: in:vrrp5 out:ether1, src-mac cc:2d:e0:d8:b9:2a, proto ICMP (type 0, code 0), 192.168.99.1->192.168.90.1, len 84
05:02:14 firewall,info forward eleje forward: in:ether1 out:vrrp5, src-mac 00:1b:21:9a:2f:a6, proto ICMP (type 8, code 0), 192.168.90.1->192.168.99.1, len 84
05:02:14 firewall,info forward eleje forward: in:vrrp5 out:ether1, src-mac cc:2d:e0:d8:b9:2a, proto ICMP (type 0, code 0), 192.168.99.1->192.168.90.1, len 84
First in the first three line the traffic pass between ether1 and ether5. After I activate the vrrp ip with the above mentioned command the ether5 becomes vrrp5. However the traffic is flowing (because it is established already), after I start a new icmp request, the filter drop it because ether5 interface in the rules has changed to vrrp5…
The forward rules:
1 chain=forward action=passthrough log=yes log-prefix=“forward eleje”
2 chain=forward action=accept connection-state=established,related
3 chain=forward action=jump jump-target=eth5 out-interface=ether5
5 chain=forward action=drop
6 chain=eth5 action=accept