I have a dual-homed Debian server running squid, but not acting as a router. Simplied network diagram is below - there are other local hops between the gateways and the Internet.
Code:
(eth0 @ 192.168.44.2) <--> (Gateway1 @ 192.168.44.1) <--> Internet
(eth1 @ 192.168.55.2) <--> (Gateway2 @ 192.168.55.1) <--> Internet
Using Gateway1 gives a very fast, but not always reliable route to the Internet. Using Gateway2 gives a slower, but more reliable route to the Internet. The server uses Gateway1 as the default gateway.
I have written a script that pings three hosts on the Internet, and if all three are down, switches the default gateway to Gateway2. This part seems to be easy, but I'd like know if there is a way of routing a ICMP/ping out eth0 to a host, with all other traffic to the host going out eth1, so I can determine if the Internet is reachable via Gateway1 again.
Thanks,
slacky