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

А торрент ли? Увеличение количества pps на серверах

если не ошибаюсь это и есть показатель, больше ппс при том же трафике

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сделали фильтрацию по новой сигнатуре - сразу PPPoE железкам полегчало !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А для длинков есть acl под новую сигнатуру?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А для длинков есть acl под новую сигнатуру?

Для 3028 выглядит так:

 

Tagged port:

create access_profile packet_content_mask offset_16-31 0x0 0x0 0x000000ff 0x0 offset_48-63 0x0 0x0000ffff 0xffffffff 0x0 profile 2
config access_profile profile_id 2 add access_id auto_assign packet_content offset 24 0x00000011 offset 52 0x00007fff offset 56 0xffff0003 port 1-28 deny

 

Untagged port:

create access_profile packet_content_mask offset_16-31 0x0 0x000000ff 0x0 0x0 offset_48-63 0x0000ffff 0xffffffff 0x0 0x0 profile 4
config access_profile profile_id 4 add access_id auto_assign packet_content offset 20 0x00000011 offset 48 0x00007fff offset 52 0xffff0003 port 1-28 deny

Изменено пользователем Demiurgos

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

это для чистого IP без инкапсуляций (l2tp,pptp)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
это для чистого IP без инкапсуляций (l2tp,pptp)?

Да, для IPoE

Изменено пользователем Demiurgos

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А для PPPoE ограничивайте количество pps по UDP и портам 1024-65535 из расчета 100pps на 1mbit.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А для PPPoE ограничивайте количество pps по UDP и портам 1024-65535 из расчета 100pps на 1mbit.
А на чём это можно сделать?

Примерчик не приведете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно сделать на микротике, всем смысла нет ставить, но особо одаренным качкам можно добавить правила:

 

chain=forward action=accept protocol=udp dst-address=192.168.1.10

dst-port=1024-65535 limit=100,100

 

chain=forward action=drop protocol=udp dst-address=192.168.1.10

dst-port=1024-65535

 

chain=forward action=accept protocol=udp src-address=192.168.1.10

dst-port=1024-65535 limit=100,100

 

chain=forward action=drop protocol=udp src-address=192.168.1.10

dst-port=1024-65535

 

И тогда он больше 100ппс через торренты не прокачает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потестируйте

 

#!/bin/sh

kldload ng_bpf
kldload ng_tag
kldload ng_ipfw

/usr/sbin/ngctl -f- <<-SEQ
    mkpeer ipfw: bpf 61 ipfw_hook61
    name ipfw:61 bpf_utp_filter
    mkpeer bpf_utp_filter: tag matched tag_utp
    name bpf_utp_filter:matched tag_utp_tagger
SEQ

ngctl msg bpf_utp_filter: setprogram { thisHook=\"ipfw_hook61\" ifNotMatch=\"ipfw_hook61\" ifMatch=\"matched\" bpf_prog_len=13 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=9 k=64 } { code=32 jt=0 jf=0 k=36 } { code=21 jt=0 jf=2 k=2147483647 } { code=40 jt=0 jf=0 k=40 } { code=21 jt=4 jf=0 k=3 } { code=32 jt=0 jf=0 k=40 } { code=21 jt=0 jf=3 k=2147483647 } { code=48 jt=0 jf=0 k=44 } { code=21 jt=0 jf=1 k=171 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] }

ngctl msg bpf_utp_filter: setprogram { thisHook=\"matched\" ifMatch=\"ipfw_hook61\" bpf_prog_len=1 bpf_prog=[ { code=6 jt=0 jf=0 k=96 } ] }
ngctl msg tag_utp_tagger: sethookin { thisHook=\"tag_utp\" ifNotMatch=\"tag_utp\" }
ngctl msg tag_utp_tagger: sethookout { thisHook=\"tag_utp\" tag_cookie=1148380143 tag_id=61 }

ipfw add netgraph 61 udp from any to any iplen 48-61
ipfw add deny udp from any to any tagged 61

# to test outgoing - tcpdump -pni ext0 '(ip[36:4]=0x7FFFFFFF and ip[40:2]=0x0003) or (ip[40:4]=0x7FFFFFFF and ip[44:1]=0xab)' and ether src Ext_If_Mac

 

И на почитать http://citrin.ru/freebsd:ng_ipfw_ng_bpf

Изменено пользователем piupiu

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Уважаемые, а кто-нибудь пробовал это

7F FF FF FF 00 03
в микротик добавлять успешно?

Неужели это только у меня на попытку добавить микротик кричит что не понимает паттернов содержащих 00?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

добавил новую сигнатуру, pps за 3 дня упали со 100 kpps до 70 kpps

новая версия utorrent = новая головная боль провайдерам...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Потестируйте

 

#!/bin/sh

kldload ng_bpf
kldload ng_tag
kldload ng_ipfw

/usr/sbin/ngctl -f- <<-SEQ
    mkpeer ipfw: bpf 61 ipfw_hook61
    name ipfw:61 bpf_utp_filter
    mkpeer bpf_utp_filter: tag matched tag_utp
    name bpf_utp_filter:matched tag_utp_tagger
SEQ

ngctl msg bpf_utp_filter: setprogram { thisHook=\"ipfw_hook61\" ifNotMatch=\"ipfw_hook61\" ifMatch=\"matched\" bpf_prog_len=13 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=9 k=64 } { code=32 jt=0 jf=0 k=36 } { code=21 jt=0 jf=2 k=2147483647 } { code=40 jt=0 jf=0 k=40 } { code=21 jt=4 jf=0 k=3 } { code=32 jt=0 jf=0 k=40 } { code=21 jt=0 jf=3 k=2147483647 } { code=48 jt=0 jf=0 k=44 } { code=21 jt=0 jf=1 k=171 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] }

ngctl msg bpf_utp_filter: setprogram { thisHook=\"matched\" ifMatch=\"ipfw_hook61\" bpf_prog_len=1 bpf_prog=[ { code=6 jt=0 jf=0 k=96 } ] }
ngctl msg tag_utp_tagger: sethookin { thisHook=\"tag_utp\" ifNotMatch=\"tag_utp\" }
ngctl msg tag_utp_tagger: sethookout { thisHook=\"tag_utp\" tag_cookie=1148380143 tag_id=61 }

ipfw add netgraph 61 udp from any to any iplen 48-61
ipfw add deny udp from any to any tagged 61

# to test outgoing - tcpdump -pni ext0 '(ip[36:4]=0x7FFFFFFF and ip[40:2]=0x0003) or (ip[40:4]=0x7FFFFFFF and ip[44:1]=0xab)' and ether src Ext_If_Mac

 

И на почитать http://citrin.ru/freebsd:ng_ipfw_ng_bpf

а кому-нибудь удавалось прилепить такой фильтр к mpd (pppoe) ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А никто не в курсе насчет того, не выпустили ли господа вредители свеженького "дъявола"? Что-то у меня сегодня pps заметно полез в гору..

P.S. Две известные сигнатуры (7F FF FF FF AB и 7F FF FF FF 00 03 20 00) давно режу на роутере.

pps.jpg

Изменено пользователем AlKov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И у меня что-то сегодня туго с инетом стало.....опять25?

Вот что увидел:

21:25:42.465985 IP 10.20.10.122.29118 > 109.87.151.88.47906: UDP, length 26

0x0000: 0002 a54e 9819 0017 1000 b068 0800 4500 ...N.......h..E.

0x0010: 0036 3101 0000 7f11 f178 0a14 0a7a 6d57 .61......x...zmW

0x0020: 9758 71be bb22 0022 f129 2101 cad4 3555 .Xq..".".)!...5U

0x0030: 2fae bf57 85e2 0037 f4ec 002c 40ba 0004 /..W...7...,@...

0x0040: fc3f 0000

 

21:25:42.466036 IP 10.20.10.122.29118 > 188.226.120.239.32981: UDP, length 26

0x0000: 0002 a54e 9819 0017 1000 b068 0800 4500 ...N.......h..E.

0x0010: 0036 3102 0000 7f11 c055 0a14 0a7a bce2 .61......U...z..

0x0020: 78ef 71be 80d5 0022 eaf4 2101 b168 3555 x.q...."..!..h5U

0x0030: 2fc3 22a3 2320 0038 0000 005a 22e6 0004 /.".#..8...Z"...

0x0040: 3700 0000

 

21:25:42.466086 IP 10.20.10.122.29118 > 92.113.10.4.48607: UDP, length 26

0x0000: 0002 a54e 9819 0017 1000 b068 0800 4500 ...N.......h..E.

0x0010: 0036 3103 0000 7f11 8fb1 0a14 0a7a 5c71 .61..........z\q

0x0020: 0a04 71be bddf 0022 e44f 2101 9f9a 3555 ..q....".O!...5U

0x0030: 2fdf 4c1a e7ea 0038 0000 0061 1f3f 0004 /.L....8...a.?..

0x0040: ffff f707

 

а еще пакеты п 20 байт валят...

Изменено пользователем worky

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А никто не в курсе насчет того, не выпустили ли господа вредители свеженького "дъявола"? Что-то у меня сегодня pps заметно полез в гору..

P.S. Две известные сигнатуры (7F FF FF FF AB и 7F FF FF FF 00 03 20 00) давно режу на роутере.

такая же хрень, а я только обрадовался упавшему pps :(

packets_week.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Потестируйте

 

#!/bin/sh

kldload ng_bpf
kldload ng_tag
kldload ng_ipfw

/usr/sbin/ngctl -f- <<-SEQ
    mkpeer ipfw: bpf 61 ipfw_hook61
    name ipfw:61 bpf_utp_filter
    mkpeer bpf_utp_filter: tag matched tag_utp
    name bpf_utp_filter:matched tag_utp_tagger
SEQ

ngctl msg bpf_utp_filter: setprogram { thisHook=\"ipfw_hook61\" ifNotMatch=\"ipfw_hook61\" ifMatch=\"matched\" bpf_prog_len=13 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=9 k=64 } { code=32 jt=0 jf=0 k=36 } { code=21 jt=0 jf=2 k=2147483647 } { code=40 jt=0 jf=0 k=40 } { code=21 jt=4 jf=0 k=3 } { code=32 jt=0 jf=0 k=40 } { code=21 jt=0 jf=3 k=2147483647 } { code=48 jt=0 jf=0 k=44 } { code=21 jt=0 jf=1 k=171 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] }

ngctl msg bpf_utp_filter: setprogram { thisHook=\"matched\" ifMatch=\"ipfw_hook61\" bpf_prog_len=1 bpf_prog=[ { code=6 jt=0 jf=0 k=96 } ] }
ngctl msg tag_utp_tagger: sethookin { thisHook=\"tag_utp\" ifNotMatch=\"tag_utp\" }
ngctl msg tag_utp_tagger: sethookout { thisHook=\"tag_utp\" tag_cookie=1148380143 tag_id=61 }

ipfw add netgraph 61 udp from any to any iplen 48-61
ipfw add deny udp from any to any tagged 61

# to test outgoing - tcpdump -pni ext0 '(ip[36:4]=0x7FFFFFFF and ip[40:2]=0x0003) or (ip[40:4]=0x7FFFFFFF and ip[44:1]=0xab)' and ether src Ext_If_Mac

 

И на почитать http://citrin.ru/freebsd:ng_ipfw_ng_bpf

Спасибо за скрипт. Попробовал, но нагрузка на процессоры возросла сразу в два раза. За что боролись, на то и напоролись. Так что пришлось сразу выключить (.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Потестируйте

ngctl msg bpf_utp_filter: setprogram { thisHook=\"ipfw_hook61\" ifNotMatch=\"ipfw_hook61\" ifMatch=\"matched\" bpf_prog_len=13 bpf_prog=[ { code=48 jt=0 jf=0 k=0 } { code=84 jt=0 jf=0 k=240 } { code=21 jt=0 jf=9 k=64 } { code=32 jt=0 jf=0 k=36 } { code=21 jt=0 jf=2 k=2147483647 } { code=40 jt=0 jf=0 k=40 } { code=21 jt=4 jf=0 k=3 } { code=32 jt=0 jf=0 k=40 } { code=21 jt=0 jf=3 k=2147483647 } { code=48 jt=0 jf=0 k=44 } { code=21 jt=0 jf=1 k=171 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ] }

И что, с таким низкоуровневым бредом админу всерьез предлагается работать? Странно, что в ng_bpf до сих пор не встроили компиляцию выражений tcpdump в код bpf. Лицензия у libpcap тоже BSD, так что вполне можно утянуть оттуда часть кода в ng_bpf.

 

По сравнению с этим, модуль u32 для iptables -- сама краткость и простота: http://www.stearns.org/doc/iptables-u32.v0.1.7.html

Изменено пользователем photon

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

такая же хрень, а я только обрадовался упавшему pps :(

Мне кажется, это просто после выходных народ соскучился по Интернету. :) Трафик посмотрите. Если он тоже подрос - то все нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
такая же хрень, а я только обрадовался упавшему pps :(
Мне кажется, это просто после выходных народ соскучился по Интернету. :) Трафик посмотрите. Если он тоже подрос - то все нормально.

Не склеивается. Трафик (у меня конкретно) просто не может подрости, ибо "полка"... И эта полка имела место быть регулярно всю неделю, и pps при этом выше 13К не поднимался. Вчера же зашкалило за 17К. Плюс к этим прелестям добавилась ещё одна... :(

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

 

P.S. Вот еще кое-что в тему нагуглиось. Судя по всему, придется еще и кол-во соединений ограничивать..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у нас тоже наблюдаются проблемы последние дни (обе сигнатуры зафильтрованы)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть подозрение на такую сигнатуру (ip[40:4]=0x00380000 and ip[44:4]=0x00010000)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Есть подозрение на такую сигнатуру (ip[40:4]=0x00380000 and ip[44:4]=0x00010000)

Да, похоже именно оно... Пакетами по 30 байт у меня шпарит...

 

Зарезал - и сразу облегчение на роутерах :)

 

Вот код, если кто-то еще не расчехлился с бпф:

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=3670016 } { code=32 jt=0 jf=0 k=44 } { code=21 jt=0 jf=1 k=65536 } { code=6 jt=0 jf=0 k=65535 } { code=6 jt=0 jf=0 k=0 } ]

XeonVs, спасибо!

 

скажи только, как именно ты отлавливал эту сигнатуру? по какому принципу?

или, может быть, кто-то еще поделится секретом? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проверяем такое комплексное выражение:

"((ip[40:4]=0x7FFFFFFF and ip[44:1]=0xab) or (ip[36:4]=0x7FFFFFFF and ip[40:4]=0x00032000) or (ip[40:4]=0x00380000 and ip[44:4]=0x00010000) or (ip[36:4]=0x00000000 and ip[40:4]=0x00380000))"

 

тут все известные мне сигнатуры, вроде ничего лишнего не попадает.

 

Отлавливал глазками, запускал клиента(с разными настройками transp_disposition 10, 15, 31 ) несколько раз и смотрел трафик одинаковых пиров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас