Есть 4 субинтерфейса: ser0.1, ser0.2, ser0.3 и ser0.4.
на основном интерфейсе ser0 прописано ip route-cache flow.также прописано куда сливать логи:
ip flow-export version 5
ip flow-export destination ip-адрес_linux_сервера 9991на линуксе висит коллектор netflow и слушает порт 9991 (порт могу любой указать).
трабла в том, что в файлик (plain text) пишется общий лог по всем субинтерфейсам. Подскажите идею, как можно разнести запись логов отдельно по каждому из 4 субинтерфейсов?
>Есть 4 субинтерфейса: ser0.1, ser0.2, ser0.3 и ser0.4.
>на основном интерфейсе ser0 прописано ip route-cache flow.
>
>также прописано куда сливать логи:
>ip flow-export version 5
>ip flow-export destination ip-адрес_linux_сервера 9991
>
>на линуксе висит коллектор netflow и слушает порт 9991 (порт могу любой
>указать).
>
>трабла в том, что в файлик (plain text) пишется общий лог по
>всем субинтерфейсам. Подскажите идею, как можно разнести запись логов отдельно по
>каждому из 4 субинтерфейсов?
1. Посмотреть коллектор, может ли он это делать.
2. Писать коллектор самому.
3. Обрабатывать полученную информацию.
>1. Посмотреть коллектор, может ли он это делать.
>2. Писать коллектор самому.
>3. Обрабатывать полученную информацию.коллектор я перепишу. его исходник есть.
только я не понимаю, как узнать с какого субинтерфейса слился трафик?
>>1. Посмотреть коллектор, может ли он это делать.
>>2. Писать коллектор самому.
>>3. Обрабатывать полученную информацию.
>
>коллектор я перепишу. его исходник есть.
>только я не понимаю, как узнать с какого субинтерфейса слился трафик?
Наверное следует посмотреть на формат flow.
Но все же это геморройнее чем обрабатывать полученное после.
>Наверное следует посмотреть на формат flow.
формат такой:
typedef struct {
ipaddrtype srcaddr; /* Source IP Address */
ipaddrtype dstaddr; /* Destination IP Address */
ipaddrtype nexthop; /* Next hop router's IP Address */
ushort input; /* Input interface index */
ushort output; /* Output interface index */ulong dPkts; /* Packets sent in Duration */
ulong dOctets; /* Octets sent in Duration. */
ulong First; /* SysUptime at start of flow */
ulong Last; /* and of last packet of flow */ushort srcport; /* TCP/UDP source port number or equivalent */
ushort dstport; /* TCP/UDP destination port number or equivalent */
uchar pad;
uchar tcp_flags; /* Cumulative OR of tcp flags */
uchar prot; /* IP protocol, e.g., 6=TCP, 17=UDP, ... */
uchar tos; /* IP Type-of-Service */
ushort src_as; /* originating AS of source address */
ushort dst_as; /* originating AS of destination address */
uchar src_mask; /* source address prefix mask bits */
uchar dst_mask; /* destination address prefix mask bits */
ushort reserved;
} IPFlow5Stat;в общем логе в поле Input interface index стоит 74. В поле Output interface index стоит либо 3, либо 0.
из этого сделал вывод, что это не номер субинтерфейса. скорее SNMP-индекс.
у меня подключение к провайдеру по FR и каждому субинтерфейсу присвоен свой DLCI.>Но все же это геморройнее чем обрабатывать полученное после.
Предлагаешь разделять трафик по субинтерфейсам через SQL-запросы?
Вот это очень геморно.
Провайдер выделил мне блок из 60 IP-адресов. Такие у нас запросы.