Hi,
I tried your suggestion. Same problem. I also tried an outbound NAT rule "WAN, any, "WAN Interface IP/32" (as only networks can be entered) any "Public CARP VIP" (which I think is essentially the same as what you are saying). Both where the top-most outbound NAT rule.
What I see with both NAT rules in TCPdump are icmp-echo-requests leaving as the CARP Public IP (so that's good as it hits the new NAT rule) but nothing comes back.
To my amazement, I also still see icmp requests leaving for the same target (router at provider) with source IP 10.99.99.204 (the WAN interface of the Master). These are not mine and I guess the Gateway pinger sends them every 1 second.
So I see two source-addresses when pinging the provider's device (which is my def.gateway):
"CARP Public IP" (82.136.xx.yy) to "Provider's router" (82.136.xx.zz) but only when I ping it myself directly from the Firewall's native console (i'll call these "my pings")
"Master WAN IP (the 10.99. address) to "Provider's router" every second, I guess from the gateway-check-pinger-thingy.
(tcpdump sees no return packets aka icmp-echo replies)
raw output:
IP 82.136.xx.yy > 82.136.xx.zz: ICMP echo request (my pings"
IP 10.99.99.204 > 82.136.xx.zz: ICMP echo request (gateway checker thingy pings, 1 every second)
The latter I don't understand. I created that outbound NAT rule and when I do pings (the "my pings"), it translates them and then sends them out. But the gateway-check-pinger seems to ignore NAT rules as it's icmp-echo-request packets have the physical WAN IP of the master as the source IP ????
The end-result is that pings now work. Sometimes…
So pings work for a couple of minutes, then die for a while, then pings work again, die again. The intervals are random.
I can ping the providers router now and some devices inside their network but not beyond.
When I revert to a non-CARP setup for the WAN interface, as described in my OP, all is 100% good again.
I'm totally out of ideas guys.