ой я тоже лепту в несу
Но уже скажу что можете купить Сервер ISA 2006
Там это делается в два счета
НО ! можно на 2003 сервере поднять просто службу Маршрутизация и удаленный доступ, затем в этой оснастке просто выставить приоритет
итак если через первый шлюз пакетов будет передано ноль, то соответственно будет использоваться вторая сет карта (а с входящими подключениями во обще проблем нет.)
Зы на убунту можно тоже через крон (просто скрипт .sh с if и т.д который будет пинговать хост через определенный шлюз, и если хост вернет false то тогда вносить изменения в конфигурацию squid или ipfw ну и соответственно restart)
А еще рекомендую pfsense/