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

sid1333

Пользователи
  • Публикации

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

  • Посещение

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


  1. Имелось в виду, конечно же, не в уме или на калькуляторе считать, а генерировать своим скриптом. Вот придумайте на досуге хэш-функцию для этой задачи: каждому IP-адресу (грубо говоря, числу между 1 и 2^32-1) должно соответствовать два уникальных номера (от 1 до 2^16-1) для пайпов на вход и выход. В случае skipto задачу можно несколько упростить: нужен лишь один номер. И чтобы не было коллизий при количестве записей около 6-7 тысяч. Проще всего в этом случае отбросить два первых октета у IP (hash1 = ip >> 16; hash2 = hash1 + 1), но тогда нельзя будет шейпить адреса из сетей с одинаковыми последними октетами. У Вас есть account_id и набор адресов к нему. Аналогично. Номер аккаунта соответствует номеру входящей трубы, номер аккаунта +2^15-1 - исходящей.Коллизий нет. И на кой тут хэш-функции? :)
  2. Есть ли разница в производительности dummynet при работе со статическими и динамическими pipe'ами? У меня например всё статиком - на каждый логин своя труба. Около 5000 таких труб уже. При динамическом создании видимо меньше памяти под dummynet отдаётся из-за того, что не все абоны в онлайне, да и хэш таблицы я так думаю забиваются по мере надобности, а не сразу, как при статике.
  3. Убрал. Нагрузка на dummynet спала на 15-25% примерно. Собираю потихоньку систему на базе 7.2
  4. Это не оптимальный набор правил уже из-за того, что там сто раз повторяется одни и те же nat, ngtee, allow ip from any to any. Напишите один раз и пользуйтесь skipto. ngtee у вас делает лишнее копирование. Трафик для Netflow оптимальнее заворачивать с хуков сетевого интерфейса на ng_split, а с него уже на ng_netflow. Пример здесь: http://tmp.barev.net/htmlart/unix/ngnetflow.html Пакет проходит максимум 5 правил - для этого там и выставлены skipto tablearg в начале. ip.fw.one_pass попробую, убрав netflow из ipfw как вы посоветовали. Единственное, что скорее всего трафик будет считаться даже если у абона доступ закрыт, но тот продолжает ломиться в инет... но это уже не особо к теме относится... Deac, ваши советы также попробую.
  5. На 24 медных. Но такой на агрегатор не катит...
  6. Тут всем ясно, что циска видимо дороже. Но циску можно взять б/у и она будет стоить также как новый Д-линк Или чуть дешевле :) Жаль правда, что в c3750 всего 1000 svi, в 3610 можно до 4к получить
  7. Может быть :) Настройки буду дальше ковырять. Но какое у вас количество абонентов через такой шлюз ходит?
  8. СделалПомогло/нет не могу сказать. Сейчас нагрузка маленькая. 600Мбит/с и 140kpps в одну сторону проходят без проблем. Dummynet на это как-бы параллельно. Как с net.isr.direct=1 так и net.isr.direct=0 Может быть, дело в NAT? При большом количестве активных юзеров. Либо сам dummynet так себя ведёт при шейпинге?
  9. id - номер договора грубо говоря, bw - скорость ipfw pipe <id> config bw <bw абона>Kbit/s queue 25 #pipe на входящий трафик ipfw pipe <id + 32766> config bw <bw абона>Kbit/s queue 25 # pipe на исходящий трафик net.isr.swi_count: 122159776 net.isr.drop: 0 net.isr.queued: 5093 net.isr.deferred: 0 net.isr.directed: -741084354 net.isr.count: -743769476 net.isr.direct: 1 interrupt total rate irq1: atkbd0 8 0 irq14: ata0 1 0 irq20: atapci1+ 9557788 1 cpu0: timer 1918089054 259 irq256: em0 1194304630 161 irq257: em1 3589944981 484 cpu7: timer 1917521160 258 cpu1: timer 1918088982 259 cpu2: timer 1915192574 258 cpu3: timer 1915192589 258 cpu6: timer 1917521161 258 cpu4: timer 1918881586 259 cpu5: timer 1918881965 259 Total 20133176479 2718 Значения dev.em поменял
  10. dev.em.0.%desc: Intel(R) PRO/1000 Network Connection 6.9.6.Yandex[$Revision: 1.36.2.8 $] dev.em.0.%driver: em dev.em.0.%location: slot=0 function=0 dev.em.0.%pnpinfo: vendor=0x8086 device=0x1096 subvendor=0x8086 subdevice=0x3476 class=0x020000 dev.em.0.%parent: pci4 dev.em.0.debug: -1 dev.em.0.stats: -1 dev.em.0.rx_kthreads: 4 dev.em.0.rx_int_delay: 250 dev.em.0.tx_int_delay: 250 dev.em.0.rx_abs_int_delay: 500 dev.em.0.tx_abs_int_delay: 500 dev.em.0.rx_kthread_priority: 127 dev.em.1.%desc: Intel(R) PRO/1000 Network Connection 6.9.6.Yandex[$Revision: 1.36.2.8 $] dev.em.1.%driver: em dev.em.1.%location: slot=0 function=1 dev.em.1.%pnpinfo: vendor=0x8086 device=0x1096 subvendor=0x8086 subdevice=0x3476 class=0x020000 dev.em.1.%parent: pci4 dev.em.1.debug: -1 dev.em.1.stats: -1 dev.em.1.rx_kthreads: 4 dev.em.1.rx_int_delay: 250 dev.em.1.tx_int_delay: 250 dev.em.1.rx_abs_int_delay: 500 dev.em.1.tx_abs_int_delay: 500 dev.em.1.rx_kthread_priority: 127 ... net.inet.ip.intr_queue_maxlen: 5120 net.inet.ip.forwarding: 1 net.inet.ip.fastforwarding: 1 ... net.inet.ip.dummynet.debug: 0 net.inet.ip.dummynet.pipe_byte_limit: 1048576 net.inet.ip.dummynet.pipe_slot_limit: 100 net.inet.ip.dummynet.io_pkt_drop: 899085190 net.inet.ip.dummynet.io_pkt_fast: 3971984921 net.inet.ip.dummynet.io_pkt: 958136342 net.inet.ip.dummynet.io_fast: 1 net.inet.ip.dummynet.tick_lost: 0 net.inet.ip.dummynet.tick_diff: 156233873 net.inet.ip.dummynet.tick_adjustment: 96367395 net.inet.ip.dummynet.tick_delta_sum: 7 net.inet.ip.dummynet.tick_delta: 503 net.inet.ip.dummynet.red_max_pkt_size: 1500 net.inet.ip.dummynet.red_avg_pkt_size: 512 net.inet.ip.dummynet.red_lookup_depth: 256 net.inet.ip.dummynet.max_chain_len: 16 net.inet.ip.dummynet.expire: 1 net.inet.ip.dummynet.search_steps: 0 net.inet.ip.dummynet.searches: 0 net.inet.ip.dummynet.extract_heap: 0 net.inet.ip.dummynet.ready_heap: 400 net.inet.ip.dummynet.curr_time: 1921183021 net.inet.ip.dummynet.hash_size: 64 ... net.inet.ip.fw.dyn_keepalive: 1 net.inet.ip.fw.dyn_short_lifetime: 5 net.inet.ip.fw.dyn_udp_lifetime: 10 net.inet.ip.fw.dyn_rst_lifetime: 1 net.inet.ip.fw.dyn_fin_lifetime: 1 net.inet.ip.fw.dyn_syn_lifetime: 20 net.inet.ip.fw.dyn_ack_lifetime: 300 net.inet.ip.fw.static_count: 31 net.inet.ip.fw.dyn_max: 4096 net.inet.ip.fw.dyn_count: 0 net.inet.ip.fw.curr_dyn_buckets: 256 net.inet.ip.fw.dyn_buckets: 256 net.inet.ip.fw.default_rule: 65535 net.inet.ip.fw.verbose_limit: 0 net.inet.ip.fw.verbose: 0 net.inet.ip.fw.debug: 0 net.inet.ip.fw.one_pass: 0 net.inet.ip.fw.autoinc_step: 1 net.inet.ip.fw.enable: 1
  11. Всем доброго дня! Имею PC шлюз на примерно 1700 абонентов, построен на FreeBSD 7.1-RELEASE-p2 на 2х 5410 Xeon. Абоненты терминируются на L3 свичах, до шлюза бежит только трафик Интернет. Всё простой маршрутизацией без vlan'ов, em0 смотрит в инет, em1 - в локальную сеть. Сетевые em встроенные. Помимо шейпа, работает ipfw nat и сбор статистики через ng_netflow. В ЧНН почти всё время наблюдаю такую картину в top'е: last pid: 37420; load averages: 0.84, 0.79, 0.71 up 85+06:27:37 22:55:24 67 processes: 11 running, 45 sleeping, 11 waiting CPU: 0.0% user, 0.0% nice, 21.9% system, 0.7% interrupt, 77.5% idle Mem: 97M Active, 133M Inact, 161M Wired, 920K Cache, 199M Buf, 3118M Free Swap: PID USERNAME THR PRI NICE SIZE RES STATE C TIME CPU COMMAND 12 root 1 171 ki31 0K 8K CPU5 5 1980.5 97.17% idle: cpu5 15 root 1 171 ki31 0K 8K CPU2 2 1910.2 89.89% idle: cpu2 14 root 1 171 ki31 0K 8K RUN 3 1955.3 89.06% idle: cpu3 10 root 1 171 ki31 0K 8K CPU7 7 1981.3 87.89% idle: cpu7 17 root 1 171 ki31 0K 8K CPU0 0 1845.6 87.21% idle: cpu0 16 root 1 171 ki31 0K 8K CPU1 1 1847.4 84.18% idle: cpu1 13 root 1 171 ki31 0K 8K CPU4 4 1972.8 82.86% idle: cpu4 11 root 1 171 ki31 0K 8K RUN 6 1972.2 67.29% idle: cpu6 38 root 1 -68 - 0K 8K CPU6 6 301.8H 41.85% dummynet 29 root 1 43 - 0K 8K RUN 3 64.3H 12.16% em0_rx_kthrea 152 root 1 43 - 0K 8K WAIT 2 64.4H 11.47% em0_rx_kthrea 33 root 1 43 - 0K 8K WAIT 1 63.2H 10.89% em1_rx_kthrea 49273 root 1 43 - 0K 8K WAIT 5 713:21 10.89% em1_rx_kthrea 151 root 1 43 - 0K 8K WAIT 4 64.2H 10.84% em0_rx_kthrea 28 root 1 43 - 0K 8K WAIT 0 64.4H 10.69% em0_rx_kthrea 163 root 1 43 - 0K 8K WAIT 0 63.1H 10.55% em1_rx_kthrea 32 root 1 43 - 0K 8K WAIT 7 63.1H 10.35% em1_rx_kthrea 18 root 1 -32 - 0K 8K WAIT 0 43.4H 1.51% swi4: clock но довольно часто на короткое время процесс dummynet выжирает до 85-90% проца. Нагрузка на шлюз не очень велика: gw-228-0 22:58:55 ~ # netstat -w1d input (Total) output packets errs bytes packets errs bytes colls 46268 0 34363024 45307 0 33805885 0 45964 0 34642701 44742 0 34093655 0 46851 0 35027810 46254 0 34640772 0 45837 0 33805929 44721 0 33213205 0 46796 0 35255467 45791 0 34552068 0 45343 0 34140908 44396 0 33633273 0 46217 0 34563171 45345 0 34008366 0 В фаерволе вроде как всё оптимизированно по максимуму, если нет, подскажите что и где? 00001 nat 1 ip from any to any in via em0 00002 skipto tablearg ip from any to table(1) 00003 skipto tablearg ip from table(2) to any 00004 deny ip from any to any 00100 allow tcp from table(5) to any dst-port 22 00101 allow tcp from table(6) to any dst-port 4567 00102 deny tcp from any to any dst-port 22,4567 00103 allow ip from any to any 00500 pipe tablearg ip from any to table(11) out via em1 00501 ngtee 65534 ip from any to any out via em1 # <- это заворот на ng_netflow 00502 allow ip from any to any 01000 pipe tablearg ip from table(12) to any in via em1 01001 ngtee 65534 ip from any to any in via em1 01002 nat 1 ip from any to any out via em0 01003 allow ip from any to any 01500 pipe tablearg ip from any to table(11) out via em1 01501 ngtee 65534 ip from any to any out via em1 01502 allow ip from any to any 02000 pipe tablearg ip from table(12) to any in via em1 02001 ngtee 65534 ip from any to any in via em1 02002 allow ip from any to any 02500 ngtee 65534 ip from any to any out via em1 02501 allow ip from any to any 03000 ngtee 65534 ip from any to any in via em1 03001 nat 1 ip from any to any out via em0 03002 allow ip from any to any 03500 ngtee 65534 ip from any to any out via em1 03501 allow ip from any to any 04000 ngtee 65534 ip from any to any in via em1 04001 allow ip from any to any 65535 allow ip from any to any Собственно вопрос: возможно ли как-то распараллелить dummynet? Ибо запас по производительности ещё есть, так как совокупная нагрузка на проц шлюза ~30% и планируется догрузить его ещё 700 абонентами. Заранее спасибо :)
  12. Как раз и не нужно чтобы коммутатор состоял в одной подсети с абонентами, и в одном с ними vlan'е тоже.IP меняйте на тот который вам удобно, чтобы в последствии получить доступ к нему из вне.
  13. Ну для 500-700 абонентов такая схема планируется. До гигабита там не дорастёт :)Нарыл в инете вот такую работоспособную схему. em1 - в Транк с ~500 vlan gw-235-0 # ifconfig em1.101 create inet 10.235.0.1/32 up gw-235-0 # ifconfig em1.102 create inet 10.235.0.1/32 up gw-235-0 # ifconfig em1.103 create inet 10.235.0.1/32 up ... gw-235-0 # ifconfig em1.701 create inet 10.235.0.1/32 up gw-235-0# route delete 10.235.0.1/32 gw-235-0# route add -net 10.235.0.2/32 -cloning -iface em1.101 gw-235-0# route add -net 10.235.0.3/32 -cloning -iface em1.102 gw-235-0# route add -net 10.235.0.4/32 -cloning -iface em1.103 gw-235-0# route add -net 10.235.0.5/32 -cloning -iface em1.101 ... gw-235-0# route add -net 10.235.1.20/32 -cloning -iface em1.701 Как сделать с использованием DHCP ума не приложу :(
  14. В Linux "ip unnumbered" схема работает таким образом: ip addr add 10.0.0.1/32 dev lo ip route add unreachable 10.0.0.0/20 ip link set eth0 up vconfig add eth0 100 ip link set eth0.100 up ip route add 10.0.0.100/32 dev eth0.100 src 10.0.0.1 echo 1 >/proc/sys/net/ipv4/conf/eth0.100/proxy_arp vconfig add eth0 101 ip link set eth0.101 up ip route add 10.0.0.101/32 dev eth0.101 src 10.0.0.1 echo 1 >/proc/sys/net/ipv4/conf/eth0.101/proxy_arp Делал ли кто-нибудь аналогичное на Фре? Ибо на ней не получилось прописать такой host route :(
  15. Ну... у C3750G-12S больше ipv4 маршрутов в железе ещё. Если вы будете конечно эту характеристику учитывать
  16. L2 - Zyxel GS-3012F ~950$ L3+ - Zyxel XGS-4728F ~2400$ CLI относительно удобовариваемый, хотя и не Cisco
  17. Тогда Вы ограничите скорость для всего интерфейса в целом, но не для нужных сетей. Я не о том :)Я о производительности. Нет ли потерь в производительности на divert'е из ipfw в netgraph?
  18. А если подключать ng_car напрямую к интерфейсу в обход ipfw?
  19. Всем доброго времени суток! Тестировал ли кто из присутствующих на форуме маршрутизатор SR6602 от H3C? В частности интересует функционал NAT - заявлено 2кк сессий, и пограничника до 1кк маршрутов, из них 500к в железе и очень привлекает 4 встроенные гигабитные комбо порта. Есть рапорт от Tolly Group, но верить ли ему? :) Если кто уже щупал данную железку, есть ли отзывы?
  20. Наша статистика показывает, что 1Мбит/с на абонента более чем достаточно. Это без ipTV. Статистика показывает, что для 1000 абонентов в ЧНН достаточно примерно 180Мбит полосы (при 40-45% активных).
  21. Вы еще сампликатор вспомните ... что может быть проще чем реализовать все так: ngctl -f- <<-SEQ... mkpeer netflow: hub export hubtmp ... [code] Каюсь, про хаб забыл...
  22. Поддерживаю, тоже очень хотелось бы ~2-3к пользователей свести в такой коммутатор - x900-12. На данный момент всего 1000 и каждому /29 сетка выдаётся Вот бы ещё не 1000 записей классификаторов на устройство, а по несколько политик доступа на каждый vlan...
  23. На 7.0 и 7.1 машинка обнаружил непонятный глюк в ng_car - полностью прекращает выполнять свою задачу :)То есть нода ng_car не ограничивает скорость абонента до приписанных ему xxМбит - выдаёт почти полною сотню. Причины сего непонятны. Попытка пересоздать ноду приводит к краху и перезагрузке тачки, даже если сначала доступ абоненту закрыть. Ядро без дебага, так что проверить нечего. Машинка держит сейчас около 900 юзеров, на каждого безлимитчика по ноде. Лимитчики гонятся в обход netgraph.