На одной машинке (смотрит в интернет)# ip route
192.168.101.0/28 dev eth3.61 proto kernel scope link src 192.168.101.1
192.168.101.16/28 dev eth2.6 proto kernel scope link src 192.168.101.17
192.168.6.0/24 proto zebra metric 20 equalize
nexthop via 192.168.101.2 dev eth3.61 weight 1
nexthop via 192.168.101.18 dev eth2.6 weight 1
На другой машике (держит сеть 192.168.6.0/24)
# ip route
192.168.101.0/28 dev eth0 proto kernel scope link src 192.168.101.2 metric 10
192.168.101.16/28 dev eth1.6 proto kernel scope link src 192.168.101.18 metric 10
default proto zebra metric 10 equalize
nexthop via 192.168.101.1 dev eth0 weight 1
nexthop via 192.168.101.17 dev eth1.6 weight 1
Использую madriva 2006 ядро стандартное.
Необходимые опции походу есть.
cat /usr/src/linux/.config |grep CONFIG_IP_ROUTE
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_MULTIPATH_CACHED=y
CONFIG_IP_ROUTE_MULTIPATH_RR=m
CONFIG_IP_ROUTE_MULTIPATH_RANDOM=m
CONFIG_IP_ROUTE_MULTIPATH_WRANDOM=m
CONFIG_IP_ROUTE_MULTIPATH_DRR=m
CONFIG_IP_ROUTE_VERBOSE=y
Балансировки НЕТ.
Сделайте свои предположения пожалуйста.
P.S. Мои тесты на madriva 2007
ip route add default scope global equalize nexthop via 10.0.0.1 dev ppp0 weight 5 nexthop via 192.168.28.1 dev eth0 weight 1
Результат - Всё идёт через 192.168.28.1
ip route change default scope global mpath wrandom nexthop via 10.0.0.1 dev ppp0 weight 5 nexthop via 192.168.28.1 dev eth0 weight 1
Так работает - но как я понял только для пакетов которые идут с локально сокета.
http://www.gossamer-threads.com/lists/quagga/users/12572