Я думаю, что вы на правильном пути с оценками. Прошло много времени с тех пор, как я использовал это, но я думаю, что вам нужно использовать отдельную таблицу маршрутизации для каждого канала WAN. Аналогично информации, документированной здесь .
Так, например, вы должны настроить что-то вроде следующего для 1-го соединения WAN и повторить для каждой дополнительной WAN.
(заменить / определить переменные $ соответствующими значениями)
# Get/Assign WAN1 gateway interface/IP wan1_interface=eth0 wan1_gateway_ip_address="$(ifconfig br0 | grep 'inet addr:' | cut -d ':' -f2 | cut -d ' ' -f1)" # Create routing table for WAN1 ip route replace default via $ dev $ table 100 ip rule add fwmark 0x7 table 100 # Setup policy for marking WAN1 traffic iptables -t mangle -N wan1_policy iptables -t mangle -A wan1_policy -j MARK --set-mark 0x7 # Mark traffic coming in on WAN1 interface iptables -t mangle -A PREROUTING -i $ -j wan1_policy
Я извиняюсь, если это немного грубо или неполно. К сожалению, я администратор Windows в своей профессии. Таким образом, я не склонен возиться с сетевыми аспектами или аспектами Linux / Unix достаточно часто, чтобы очень хорошо владеть этим уровнем. Но я уточню ответ, если смогу вспомнить более конкретную информацию из пыльных уголков моего мозга. :)
ОБНОВЛЕНИЕ: Я нашел старый скрипт, который использовал, и обновил приведенный выше пример более точными командами. Мне пришлось настроить их для вашей ситуации (я использовал их для направления трафика на VPN-соединение), но я думаю, что они должны быть хорошими сейчас.