Добрый день.
Можно поподробнее рассказать, как посчитать в связке ipcad-netflowcollector трафик с двух разных интерфейсов? У меня почему-то никак не привязывается трафик к интерфейсу.
Суть в том, что у меня на 2-х внешних интерфейсах на одном роутере висят 2 разных провайдера. Поэтому надо считать трафик для каждого 0.0.0.0-0.0.0.0. Тоесть весь вх.-вых. трафик для каждого интерфейса отдельно, так как тарифы разные.
ipcad в netfow-потоке выдает только номер входящего интерфеса, исходящий у него пстоянно равен 65535. Можно как-нибудь это победить? У вас рекомендованный пакет для сбора в netflow - это ipcad. С его помощью получалось у кого-нибудь трафик разделить по интерфейсам корректно?
И еще момент. Я настроил привязку услуг отдельно по интерфесам - трафик вообще не счиается.. Тоесть, если указать, что надо слушать входящий трафик с некоего пула адресов с конкртеного интерфеса (например eth1) - ничего не считается. Если указываешь ANY, тогда начинает считать. Но считает с любых интерфесов, а это не правильно. В этом плане вызывает сомнение корректность работы модуля коллектора. В документации сказано про разделение по интерфесам очень скудно, поэтому все пришлось самому додумывать. Может где-то какую-то настройку не указал\прописал? Хотелось бы докопаться до истины.
Настройки ipcad:
capture-ports disable;
buffers = 64k;
interface eth1; #Слушаем на 2-х интерфейсах
interface eth2; #
#aggregate 192.168.1.0/16 strip 32; # Агрегация отключена (кстати, не понятно, надо ли ее включать?
netflow export destination 192.168.1.252 9996; # Сервер сбора потоков
netflow export version 5; # NetFlow export format version {1|5}
netflow timeout active 30; # Timeout when flow is active, in minutes
netflow timeout inactive 15; # Flow inactivity timeout, in seconds
netflow engine-type 73; # v5 engine_type; 73='I' for "IPCAD"
netflow engine-id 1; # Useful to differentiate multiple ipcads.
netflow ifclass eth mapto 0-99; # Устанавливаем привязки интерфейсов: eth1 -> 1, eth2 -> 2
rsh enable at 127.0.0.1;
rsh root@127.0.0.1 admin;
rsh root@127.0.0.1 backup;
rsh root@127.0.0.1;
rsh 127.0.0.1 view-only;
rsh timeout = 30;
dumpfile = ipcad.dump;
chroot = /tmp;
pidfile = ipcad.pid;
memory_limit = 10m;
В коллектор от ipcad'а прибегают такие логи:
1 Flow 2:83.222.11.131:8081 / 65535:80.247.107.65:47829 1745 nextHop: 0.0.0.0
2 Flow 2:80.247.107.69:2000 / 65535:217.77.100.62:2250 168 nextHop: 0.0.0.0
1 Flow 1:212.94.111.22:1723 / 65535:194.150.137.88:1044 60 nextHop: 0.0.0.0
2 Flow 1:194.150.137.88:1044 / 65535:212.94.111.22:1723 96 nextHop: 0.0.0.0
по этим логам понятно, что айпикад передает коллектору номер исходящего интерфеса, а входящий у него равен 65535 всегда.
Далее. Сам сервер BGBilling настроен таким образом:
Модуль IPN:
Раздел Интерфесы и зоны:
номер название зона
-1 ANY глобальная зона
1 eth1 своя зона
2 eth2 своя зона
в Привязке услуг
Внешний входящий трафик 1
выбираю слушать весь Входящий трафик 0.0.0.0 - 0.0.0.0, все порты, источник у меня один, интерфес eth1
Внешний входящий трафик 2
выбираю слушать весь Входящий трафик 0.0.0.0 - 0.0.0.0, все порты, источник у меня один, интерфес eth2
То же самое для Исходящий трафик 1,2, меняется только направление
В Договоре выбираю для клиента в модуле IPN на некоем пуле адресов слушать трафик только с интерфеса eth1, на другом пуле адресов - только с eth2. В итоге никакого трафика.
Как только выбираю слушать с ANY, трафик появляется, но считается только входящий. Исходящий = 0.
Где и чего я недоучел? Или в связке с ipcad трафик не будет считаться корректно в принципе?
|