Есть ли в Linux встроенная поддержка балансировки нагрузки (может быть, такой же простой, как RR или IP Hash) нескольких шлюзов по умолчанию?
Раньше это было немного нестабильно, но любой современный дистрибутив должен иметь такую возможность. Сначала убедитесь, что ядро было собрано с этими двумя настройками.
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
Вам также потребуется установить iproute, который иногда снова становится iproute2 в зависимости от дистрибутива. FWIW при установке 10.04 LTS по умолчанию все это должно быть готово к работе.
Использование нескольких шлюзов по умолчанию редко дает желаемый эффект. Если один из шлюзов не работает, вы потеряете трафик, который на него отправляется.
Чего вы пытаетесь достичь, используя более одного шлюза? Динамическая маршрутизация, агрегация каналов 802.3ad (LaCP) или их комбинация, вероятно, ближе к решению, которое вы ищете.
Ваше ядро должно быть скомпилировано с CONFIG_IP_ROUTE_MULTIPATH
включен, а затем вы можете создать несколько равных маршрутов или использовать протокол динамической маршрутизации, поддерживающий балансировку нагрузки. Взглянуть Вот и Вот Чтобы получить больше информации. Для справки в моей общей установке CentOS 5.5 есть CONFIG_IP_ROUTE_MULTIPATH
включен.