Jump to content
Калькуляторы

softflowd рассудите пожалуйста считаю 100Мбит поток, помоему что-то не так

Есть машина, её призвание принять Интернет виланами, мой только один (вилан)

 

машина dl320 один xeon 3370

asplinux 14 delux, только поставленный

 

приходит интернет 100Мбит

 

eth0.vlan506

 

бридж в составе eth0.vlan506 и eth1

 

в iptables !mac drop 70 шт.

 

За этой машиной 40 белых ip, едят много, за ними пользователи.

Всего единовременно через их (серверов) нат идёт примерно 1500 пользователей.

 

собственно и всё

 

top

Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu1 : 21.8%us, 1.0%sy, 0.0%ni, 68.5%id, 0.0%wa, 1.6%hi, 7.1%si, 0.0%st

Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu3 : 62.3%us, 2.6%sy, 0.0%ni, 24.5%id, 0.0%wa, 2.0%hi, 8.6%si, 0.0%st

Mem: 2073252k total, 2020448k used, 52804k free, 8396k buffers

Swap: 4192956k total, 64k used, 4192892k free, 1920980k cached

 

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

8542 nobody 20 0 5336 3980 2584 R 89.9 0.2 261:45.95 softflowd

8538 root 20 0 3100 1220 496 S 9.3 0.1 31:00.27 flow-capture

7 root 15 -5 0 0 0 S 0.3 0.0 0:18.90 ksoftirqd/1

 

lspci

03:04.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5715 Gigabit Ethernet (rev a3)

03:04.1 Ethernet controller: Broadcom Corporation NetXtreme BCM5715 Gigabit Ethernet (rev a3)

 

/proc/interrupts

16: 2151 2542 1965 290211472 IO-APIC-fasteoi eth0

17: 1291 244734252 34064 1292 IO-APIC-fasteoi eth1

 

каждые 15 минут flow-capture сбрасывает файл 200Мбайт.

 

Чувствую машина так долго не протянет :(

Посоветуйте, пожалуйста, как оптимизировать?

 

flow-capture уберу на отдельную машину, но больше железа у меня нет, а посчитать реальные ip надо :(

только посчитать, больше ничего, пользователи терминируются на серверах до этой машины

Share this post


Link to post
Share on other sites
ipt_netflow

А нет ли инструкции как сие собрать грамотно и настроить?

 

по связке softflow + flow-tools доков полно с примерами, компиляция с настройкой не представляет проблем,

а вот по ipt_netflow что-то не очень с ходу нашлось :(

 

Не откажите, пожалуйста.

Share this post


Link to post
Share on other sites

Обычно в архиве есть прекрасный файл readme.txt.

 

Share this post


Link to post
Share on other sites
Обычно в архиве есть прекрасный файл readme.txt.

Отчитываюсь :)

 

скачиваем ipt_netflow

 

в README чётко сказано, что надо дистриб iptables и собрать его заново.

(для простоты скачал ту версию что и стоит у меня rpm)

 

скачиваем и разворачиваем iptables , и читаем README

 

собираем заново, как указано, не забывая подправить путь к /lib/iptables вместо /usr/local/lib/iptables (у меня именно так и получилось - два раза работу проделывал)

 

возвращаемся к ipt_netflow, компилим и не забываем про заковырку с путями к библиотекам, так же как и с iptables

 

собственно и всё.

коллектором остаётся flow-capture из пакета flow-tools

 

нагрузка на процессор реально ниже, но это я запустил на тестовом маршрутизаторе, через него всего 5Мбит идёт.

 

утром погляжу результат :) и продолжение следует

Edited by d71

Share this post


Link to post
Share on other sites
продолжение следует

... получить кучу логов - это самое простое, как оказалось, а вот написать разобраться и посчитать именно то что надо и именно из нужных цепочек - задача-то не простая...

Share this post


Link to post
Share on other sites

Гммм, да не должно там сложностей быть. Можно просто не дать левому трафику попасть на правило с ipt_netflow - впереди навставлять правил -j RETURN, если много лишнего - то +ipset, и потом считать на колекторе только "правильный трафик". Ну или пихать все в netflow, а обрезать лишнее фильтрами вроде flow-nfilter при подсчете.

 

Share this post


Link to post
Share on other sites

да пока подрезать ничего не буду, и так что-то не то происходит.

 

softflowd сыпал 200 метров за 15 минут

 

сейчас прописано только $IPTABLES -A FORWARD -j NETFLOW и сыпется всего 30 мегабайт за 15 минут

 

по моему попадает попадает не всё что надо... у меня же мост, может что-то не так...

хотя мост чётко фильтруется правилами вида $IPTABLES -A FORWARD -s 87.xx.yy.zz -m mac --mac-source ! 00:11:d3:88:c2:99 -j DROP

где-то споткнулся я, короче говоря.

 

сказать смогу только утром - когда соберется побольше статистики и я смогу её сравнить с чем-то...

 

а загрузка такая стала:

 

top
- 17:02:30 up 3:13, 3 users, load average: 0.01, 0.05, 0.07

Tasks: 114 total, 1 running, 111 sleeping, 0 stopped, 2 zombie

Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu1 : 0.9%us, 0.9%sy, 0.0%ni, 90.3%id, 0.0%wa, 1.5%hi, 6.5%si, 0.0%st

Cpu2 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Cpu3 : 0.0%us, 0.6%sy, 0.0%ni, 93.4%id, 0.0%wa, 1.3%hi, 4.7%si, 0.0%st

Mem: 2073252k total, 489612k used, 1583640k free, 78200k buffers

Swap: 4192956k total, 0k used, 4192956k free, 323560k cached

 

 

 

и cat /proc/net/stat/ipt_netflow

Flows: active 42953 (peak 51459 reached 0d0h38m ago), mem 2348K

Hash: size 8192 (mem 32K), metric 5.1, 5.0, 2.1, 1.0. MemTraf: 11711873 pkt, 4806954 K (pdu 17, 1869).

Timeout: active 1800, inactive 15. Maxflows 2000000

Rate: 103267106 bits/sec, 34272 packets/sec; Avg 1 min: 101302962 bps, 33649 pps; 5 min: 102225186 bps, 33980 pps

cpu# stat: <search found new, trunc frag alloc maxflows>, sock: <ok fail cberr, bytes>, traffic: <pkt, bytes>, drop: <pkt, bytes>

Total stat: 456049326 109836792 6527337, 0 0 0 0, sock: 216142 4 0, 309015 K, traffic: 116364129, 44472 MB, drop: 3345, 1088 K

cpu0 stat: 0 0 0, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 0, 0 MB, drop: 0, 0 K

cpu1 stat: 291902352 73680655 3728930, 0 0 0 0, sock: 216142 4 0, 309015 K, traffic: 77409585, 37173 MB, drop: 3345, 1088 K

cpu2 stat: 0 0 0, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 0, 0 MB, drop: 0, 0 K

cpu3 stat: 164146974 36156137 2798407, 0 0 0 0, sock: 0 0 0, 0 K, traffic: 38954544, 7298 MB, drop: 0, 0 K

sock0: 127.0.0.1:8818, sndbuf 111616, filled 0, peak 0; err: sndbuf reached 0, other 4

 

 

 

---------------

 

полчаса спустя :(

не всё считает, блин, проверил

Edited by d71

Share this post


Link to post
Share on other sites

просьба

 

не могли бы Вы (кто-нибудь), кому не жалко :)

кинуть сюда cat /etc/rc.d/rc.iptables (ну у кого где скрипт лежит)

поглядеть на цепочки -j NETFLOW

 

заранее очень спасибо

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this