Перейти к содержимому
Калькуляторы

XeonVs

Активный участник
  • Публикации

    338
  • Зарегистрирован

  • Посещение

Все публикации пользователя XeonVs


  1. У себя на внутренних трекерах и ретрекерах запретили 2.0 клиента. Поэтому так или иначе всем активным качкам пришлось откатываться на 1.х ветку. ng_bgf программа под новую сигнатуру( "ip[40:4]=0x7FFFFFFF and ip[44:4]=0x00032000"): bpf_prog_len=9 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=5 k=64 } { code=32 jt=0 jf=0 k=40 } { code=21 jt=0 jf=3 k=2147483647 } { code=32 jt=0 jf=0 k=44 } { code=21 jt=0 jf=1 k=204800 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ]
  2. В коде ipcalc подсмотрен такой код: #IP SUBS sub aton { my $arg = shift; my $i = 24; my $n = 0; # dotted decimals if ($arg =~ /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) { my @decimals = ($1,$2,$3,$4); foreach (@decimals) { if ($_ > 255 || $_ < 0) { return -1; } $n += $_ << $i; $i -= 8; } return $n; } } sub bitcountmaskton { my $bitcountmask = shift; my $n; for (my $i=0;$i<$bitcountmask;$i++) { $n |= 1 << (31-$i); } return $n; } sub networkkey { my ($addr, $mask) = @_; my $address = aton($addr); my $mask1 = bitcountmaskton($mask); return $address & $mask1; } на выходе будет простое целое которое представляет сеть. $BGP{networkkey('10.0.0.0', 8)} = 65535; $BGP{networkkey('192.168.0.0', 16)} = 65535; а уже с хешем делать что захочется, будет весьма быстро. Чтобы хеш не строить каждый раз при запуске скрипта можно сохранить его через DB_File.
  3. так в том то и дело, что сейчас именно по этой базе и работает скриптик:сначала препарируется база в формат "AS123 1.2.3.0/16" потом вторым перловым скриптом берется строчка и считается входящий-исходящий ипе. и гоняется по этому массиву) вот я и задался вопросом: а есть ли более вменяемые алгоритмы? наверное нет, разве что ходить на BGP пир и просить show ip bgp <net> bestpath и парсить результат. кстати если хочется смотреть распределение трафика по ASN почему бы не заюзать netflow с заполненными полями и nfdump?
  4. Держи базу Райпа :) ftp://ftp.ripe.net/ripe/dbase/split/ripe.db.route.gz Скрипт написать не проблема к ней Правда тут не все AS. Полный список можно стянуть на BGP пире. вот тут есть некоторые примеры скриптов http://netroad.ru/~xeon/ng_netflow/
  5. Добавьте CDEF рукками.... там оно реально Total All Data Sources и умноженное на 8. Примеры есть рядом. Суть в том, что надо несколько Data Source определить в темплейте, и воспользоваться функцией Total All Data Sources.
  6. спасибо за совет... но не могу найти как подключать источники данных...? и где его перенести в NONE кстати плагин я поставил вроде работает .... просто интересно какие ещё способы решения есть...? когда график создал там и меняй параметры.
  7. Без проблем и всяких плагинов. держи шаблон: cacti_graph.zip В кратце создаешь график на базе этого шаблона с привязкой к нужному интерфейсу, а потом просто переносишь график в None хост, и подключаешь произвольные источники данных. надеюсь идея будет понятна.
  8. FAILURES это нехватка памяти под сткуктуры нетграфа крутилки на эту тему из loader.conf net.graph.maxdata net.graph.maxalloc
  9. fetchmail + скрипт на перле для фильтрации всего лишнего.
  10. в лоадер: net.isr.maxthreads=2 net.isr.numthreads=2 пулинг из ядра вообще вынести. и смотреть как будет лучше, с net.isr.direct=0 или =1 покупать действительно имеет смысл только PT\ET
  11. Их никогда и не было в ядре. Ага, ваша правда. Память подводит, да и продакшн никто не трогает лишний раз. По быстрому переделал патчик под 8.0\9.0 может и пригодится кому. --- if_bge.c.org 2010-03-30 21:08:20.000000000 +0400 +++ if_bge.c 2010-03-30 21:10:07.000000000 +0400 @@ -483,8 +483,18 @@ DRIVER_MODULE(miibus, bge, miibus_driver, miibus_devclass, 0, 0); static int bge_allow_asf = 1; +static int bge_rxd = BGE_SSLOTS; +static int bge_rx_coal_ticks = 150; +static int bge_tx_coal_ticks = 150; +static int bge_rx_max_coal_bds = 10; +static int bge_tx_max_coal_bds = 10; TUNABLE_INT("hw.bge.allow_asf", &bge_allow_asf); +TUNABLE_INT("hw.bge.rxd", &bge_rxd); +TUNABLE_INT("hw.bge.rx_int_delay", &bge_rx_coal_ticks); +TUNABLE_INT("hw.bge.tx_int_delay", &bge_tx_coal_ticks); +TUNABLE_INT("hw.bge.rx_coal_desc", &bge_rx_max_coal_bds); +TUNABLE_INT("hw.bge.tx_coal_desc", &bge_tx_max_coal_bds); SYSCTL_NODE(_hw, OID_AUTO, bge, CTLFLAG_RD, 0, "BGE driver parameters"); SYSCTL_INT(_hw_bge, OID_AUTO, allow_asf, CTLFLAG_RD, &bge_allow_asf, 0, @@ -1027,7 +1037,7 @@ bzero(sc->bge_ldata.bge_rx_std_ring, BGE_STD_RX_RING_SZ); sc->bge_std = 0; - for (i = 0; i < BGE_SSLOTS; i++) { + for (i = 0; i < bge_rxd; i++) { if ((error = bge_newbuf_std(sc, i)) != 0) return (error); BGE_INC(sc->bge_std, BGE_STD_RX_RING_CNT); @@ -2787,10 +2797,10 @@ /* Set default tuneable values. */ sc->bge_stat_ticks = BGE_TICKS_PER_SEC; - sc->bge_rx_coal_ticks = 150; - sc->bge_tx_coal_ticks = 150; - sc->bge_rx_max_coal_bds = 10; - sc->bge_tx_max_coal_bds = 10; + sc->bge_rx_coal_ticks = bge_rx_coal_ticks; + sc->bge_tx_coal_ticks = bge_tx_coal_ticks; + sc->bge_rx_max_coal_bds = bge_rx_max_coal_bds; + sc->bge_tx_max_coal_bds = bge_tx_max_coal_bds; /* Set up ifnet structure */ ifp = sc->bge_ifp = if_alloc(IFT_ETHER);
  12. Только если дрова пропатчить... Хм! в 8рке разве крутилки отломали?
  13. в loader.conf можно добавить hw.bge.rxd=512 hw.bge.rx_coal_desc=64 hw.bge.tx_coal_desc=128 hw.bge.allow_asf=1 hw.bge.rx_int_delay=100 hw.bge.tx_int_delay=500 исспользовать пулинг смысла на 8.0 никакого, лучше с net.isr потоками играться грамотно.
  14. однако это бета, а не 2.0 релиз который у масс стоит :(
  15. транзит не знает, что такое rspan. В этом вся соль. Транзиту дали тег, он его и протащил из пункта А в пункт Б.
  16. Доброго времени суток. Подскажите по схеме cisco1 -> sw1 -> sw2 ... swN -> cisco если на крайних железках сделать rspan-vlan с определенном тегом, потом этот тег прогнать по всей трассе, будет ли работать нормально? Стенд собрать к сожалению не могу.
  17. tcpdump -s1500 -Xni vlan0 host 10.4.72.41 and not icmp |grep 208.43 как-то так можно отловить откуда растёт голова. у меня в трафике efnet.com фигурировал.
  18. в данном случае, сигнатура это текстовая строка. Определялось глазами по потоку данных от клиента к голове виря.
  19. У меня ASR стоит в качестве NAT, тоже глюков валом. Новый(2.06) релиз не пробовал еще.
  20. ручной анализ? сигнатуры пакетов то как определяете, те самые характеризующие байты. в основном да. дак tcpdump -X выводит пакет, смещение и байты там видно.
  21. tcpdump -Xni vlan0 "ip[40:4]=0x7FFFFFFF and ip[44:1]=0xAB" статистика снимается примерно так: ngctl msg bpf_utp_filter: getstats \"matched\"
  22. Как на приведенной картинке выше - анализ netflow на предмет аномального трафика.А дальше tcpdump и глазки.
  23. голова живет тут: 83.222.226.219 92.243.21.79 70.32.35.17 этот ли вирь выясняется просмотром вывода tcpdump -s1500 -Xni vlan0 "ip[48:4]=0x2e65666e" or "ip[48:4]=0x632e6566" а дальше бан на найденные ипы.