вообще-то добится балансировки загрузки, особенно не заморачиваясь
можно как минимум 4 способами:
1. ip route с весовыми коэффициентами
2. ip route + fw mark + iptables
3. teql
4. bonding
bonding и teql достаточно хорошо описаны в
/usr/src/linux../Documentaion/networking.
хотя eql и вешается на практически любые типы интерфейсов, однако при нем
достаточно затруднительно управлять приоритизацией трафика, т.к. на всех
slave интерфейсах queue discipline eql единственный возможный вариант,
который нельзя изменить.
bonding сажается исключительно на ethernet или tap.
кроме того, управлять ты сможешь только исходящими пакетами, т.е. если
у тебя активный входящий трафик на одном из интерфейсов, то на исходящий
трафик при балансировке это никак не повлияет (за исключением некоторых
режимов bonding).
так что в твоем случае остается только iproute + fwmark + iptables.
достигается это примерно так:
1. мониторим среднюю исходящую загрузку на основном интерфейсе и если она
превышает некий предел, то маркируем пакеты (средний размер пакета и
количество паектов при макс загрузке сам вычислишь):
iptables -t mangle --insert PREROUTING|FORWARD ..... -m limit ! --limit pps --jump MARK --set-mark 0x11
2. делаем routing
cat >> /etc/iproute2/rt_tables <<EOF
200 secondary_iface
EOF
ip rule add fwmark 0x11 pref 200 table secondary_iface
ip route add 0/0 dev eth2 table secondary_iface
3. делаем такую же хрень и сдругой стороны