---
Сейчас рассмотрим ситуацию с разделением каналов. Предположим у нас
есть два линка на разных провайдеров. Создаем для каждого свою таблицу
маршрутов, и правила привязывающие соответственные сети провайдеров к
нужным интерфейсам. Это гарантирует нам возврат пакета, отправленного
через одного из провайдеров от него-же. Однако если маршрут по
умолчанию будет указывать только на один линк, мы получим
разбалансированную нагрузку по каналам. Для решения этой проблемы
маршрут по умолчанию укажем на два устройства сразу:
# ip route add default scope global nexthop via $ip_prov1 dev ppp0
weight 1 nexthop via $ip_prov2 dev ppp1 weight 1
Это сбалансирует маршруты через обоих провайдеров. Параметр weight
может быть настроен для перевеса нагрузки в ту или иную сторону.
Однако надо отметить, что в общем случае вы не сможете угадать, по
какому каналу приходит тот или иной пакет (не входящий, а исходящий).
---
Подробнее тут http://www.opennet.ru/base/net/adv_route_qos.txt.html