I don’t know if you ever looked at the Vyatta HA 6.5R guide on load-balancing, but I think a rule based load-balancing would have worked.
Example:
First, you would need to setup your static routes for your targets in the health check.
set protocols static route 8.8.8.8/32 next-hop {ip of your gw}
set protocols static route 8.8.4.4/32 next-hop {ip of your gw}
set protocols static route 75.75.75.75/32 next-hop {ip of your gw}
Next, you need to create your health check parameters for your interfaces.
[code]set load-balancing wan interface-health eth0 failure-count ‘4’
set load-balancing wan interface-health eth0 nexthop ‘your gateway ip’
set load-balancing wan interface-health eth0 success-count ‘1’
set load-balancing wan interface-health eth0 test 10 resp-time ‘5’
set load-balancing wan interface-health eth0 test 10 target ‘8.8.8.8’
set load-balancing wan interface-health eth0 test 10 ttl-limit ‘1’
set load-balancing wan interface-health eth0 test 10 type ‘ping’
set load-balancing wan interface-health eth0 test 20 resp-time ‘5’
set load-balancing wan interface-health eth0 test 20 target ‘8.8.8.8’
set load-balancing wan interface-health eth0 test 20 ttl-limit ‘1’
set load-balancing wan interface-health eth0 test 20 type ‘ping’
set load-balancing wan interface-health eth0 failure-count ‘4’
set load-balancing wan interface-health eth1 failure-count ‘5’
set load-balancing wan interface-health eth1 nexthop ‘your gateway ip’
set load-balancing wan interface-health eth1 success-count ‘1’
set load-balancing wan interface-health eth1 test 10 resp-time ‘5’
set load-balancing wan interface-health eth1 test 10 target ‘8.8.4.4’
set load-balancing wan interface-health eth1 test 10 ttl-limit ‘1’
set load-balancing wan interface-health eth1 test 10 type ‘ping’
set load-balancing wan interface-health eth1 test 20 resp-time ‘5’
set load-balancing wan interface-health eth1 test 20 target ‘8.8.4.4’
set load-balancing wan interface-health eth1 test 20 ttl-limit ‘1’
set load-balancing wan interface-health eth1 test 20 type ‘ping’
set load-balancing wan interface-health eth2 failure-count ‘3’
set load-balancing wan interface-health eth2 nexthop ‘your gateway ip’
set load-balancing wan interface-health eth2 success-count ‘1’
set load-balancing wan interface-health eth2 test 10 resp-time ‘5’
set load-balancing wan interface-health eth2 test 10 target ‘75.75.75.75’
set load-balancing wan interface-health eth2 test 10 ttl-limit ‘1’
set load-balancing wan interface-health eth2 test 10 type ‘ping’
set load-balancing wan interface-health eth2 test 20 resp-time ‘5’
set load-balancing wan interface-health eth2 test 20 target ‘75.75.75.75’
set load-balancing wan interface-health eth2 test 20 ttl-limit ‘1’
set load-balancing wan interface-health eth2 test 20 type ‘ping’[/code]
Once that is done, you can go ahead and let the system know that you are going to use all three interfaces for outbound traffic and that they should share the load and be treated equally.
set load-balancing wan rule 10 inbound-interface eth3
set load-balancing wan rule 10 interface eth0
set load-balancing wan rule 10 interface eth1
set load-balancing wan rule 10 interface eth2
The above probably would have worked. I mean, it was lab tested and I could see all interfaces active with three internal hosts pinging different sites. (Some bugs were found, where at first 1 of 3 interfaces would not be pingable from my outside network. But a reboot would fix that problem.) I know that this is a bit too late, but if you had to acquire or rent extra hardware from your ISP, then you could give this a try and get rid of that overhead expense.