Подскажите в какую сторону копать? Метрики?
Да, метрики, б
ольшие для резервных маршрутов.
Пример для windows-машины, основные маршруты:
route add 192.168.102.0 mask 255.255.255.0 192.168.3.2 metric 1
route add 192.168.103.0 mask 255.255.255.0 192.168.3.2 metric 1
резервные маршруты:
route add 192.168.102.0 mask 255.255.255.0 192.168.1.1 metric 100
route add 192.168.103.0 mask 255.255.255.0 192.168.1.1 metric 100
Для остальных машин аналогично. Смысл в том, что при пропадании линка на интерфейсе соответствующий маршрут, как правило, удаляется из таблицы маршрутизации (проверил только что на win7). Имейте в виду, что при неработоспособности двух линков из трех вы получите петлю маршрутизации (но это мелочи по сравнению с недоступностью части сети). Ну и другие недостатки статической маршрутизации тоже проявятся (невозможность отследить неработоспособность следующего хопа кроме как через состояние интерфейса и т.д.)
Пакеты, адресованные «наружу» должны уходить через GW.
Здесь можно поступить так. На linux-сервере (на картинке по центру) поднять loopback-интерфейс. На двух остальных машинах прописать маршруты по умолчанию через него. На них же - по два маршрута непосредственно до него (основной и резервный). На основном linux-сервере прописать маршрут по умолчанию в интернет.