Есть шлюз, у шлюза - несколько соединений с интернетом (wan0, wan1) и несколько тупых ADSL модемов, воткнутых в свич. Т.е. несколько модемов висят на одной сетевухе. Cоотв шлюзы gw0,gw1,gw2,gw3... Есть локальная сеть, которой нужно давать интернет. Задача - посчитать сколько интернета скушано, и по какому каналу. Нагрузка на каналы разношерстная, раздача по FTP идет через 1 канал, юзеры сидят через другой, а если один из каналов ложится, все перепрыгивают на соседний... Посчитать траффик пользователя не проблема (stargazer), проблема посчитать сколько трафика съедено с какого канала. Считать на внешке возможности нет (циски нема).
С помощью iproute2 можно на основании марки (fwmark) можно завернуть пакет на определенный шлюз. А тут задача обратная - на основании того на какой гейт он отправляется(или с какого гейта он получен), нужно завернуть его в цепочку, и посчитать.
Поидее эта информация уже есть в исходящем пакете на этапе [mangle-FORWARD], но как ее считать? В patch-o-matic вроде такого не нашел...
Кто страдал подобной фигней? Или может у кого более светлые идеи есть как это можно посчитать?