sekuzz Опубликовано 10 июня, 2018 · Жалоба 14 часов назад, AlKov сказал: А с IPoE + QinQ + IP unnumbered сей продукт реально подружить? Я подружил. Пока нагрузка небольшая, но работает :) Правда пришлось dhcp-server вынести на отдельную виртуалку... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
BETEPAH Опубликовано 10 июня, 2018 · Жалоба 3 часа назад, Antares сказал: 15 часов назад, AlKov сказал: Плюс функционал "ночных скоростей" придётся костылить Простой скрипт, который перебирает клиентов, у которых в базе "турбо" и отдаёт на выполнение такому: В доке на модуль есть: #!/bin/bash . /etc/boot/incl.sh IP=$1 DNL=$2 UPL=$3 let "DNL1=$DNL*1000000" let "UPL1=$UPL*1000000" echo "@+$IP $DNL1" > $users_down echo "@+$IP $UPL1" > $users_up А раньше приходилось вычислять хеш, что оказалось нетривиальной задачей, дня три кодил и то до конца был не уверен, что работало правильно. Сравните с этим: #!/bin/bash . /etc/boot/incl.sh RULE=$1 LOGIN=$2 let mark=${LOGIN}+1000 let mark2=${LOGIN}+1000 ip=$3 mask=$4 DNL=$5 UPL=$6 DNL_CEIL=$7 UPL_CEIL=$8 SEG=`echo $ip | awk -F. '{ print $3 }'` IP2=`echo $ip | awk -F. '{ print $4 }'` SEGhex=`printf %x $SEG` IP2hex=`printf %x $IP2` case $RULE in -A) ### ADD NEW RULE ### if [ ! -f /ramdisk/shaper/${LOGIN} ] then $tc class add dev $INTIF parent 1:1 classid 1:$mark htb rate ${DNL}mbit ceil ${DNL_CEIL}mbit quantum 3000 $tc qdisc add dev $INTIF parent 1:$mark handle $mark: sfq perturb 10 $tc filter add dev $INTIF parent 1: protocol ip prio 5 u32 ht ${SEGhex}:${IP2hex}: match ip dst $ip flowid 1:$mark $tc class add dev $EXTIF parent 1:1 classid 1:$mark2 htb rate ${UPL}mbit ceil ${UPL_CEIL}mbit quantum 3000 $tc qdisc add dev $EXTIF parent 1:$mark2 handle $mark2: sfq perturb 10 $tc filter add dev $EXTIF parent 1: protocol ip prio 5 u32 ht ${SEGhex}:${IP2hex}: match ip src $ip flowid 1:$mark2 echo "$DNL $UPL" > /ramdisk/shaper/${LOGIN} fi ;; -D) ### DELETE RULE ### if [ -f /ramdisk/shaper/${LOGIN} ] then for h in `$tc filter show dev $INTIF | grep ":$mark" | cut -d" " -f10`; do $tc filter del dev $INTIF parent 1: protocol ip prio 5 handle $h u32 done $tc qdisc del dev $INTIF parent 1:$mark handle $mark: sfq perturb 10 $tc class del dev $INTIF parent 1:1 classid 1:$mark htb rate ${DNL}mbit ceil ${DNL_CEIL}mbit quantum 3000 for h in `$tc filter show dev $EXTIF | grep ":$mark2" | cut -d" " -f10`; do $tc filter del dev $EXTIF parent 1: protocol ip prio 5 handle $h u32 done $tc qdisc del dev $EXTIF parent 1:$mark2 handle $mark2: sfq perturb 10 $tc class del dev $EXTIF parent 1:1 classid 1:$mark2 htb rate ${UPL}mbit ceil ${UPL_CEIL}mbit quantum 3000 /bin/rm -f /ramdisk/shaper/${LOGIN} fi ;; *) echo "Usage: `basename $0` -A|-D RULEID UIP UBITS DOWNLOAD UPLOAD DOWNLOAD_CEIL UPLOAD_CEIL" exit 64 ;; esac Знаю, что у tc есть replace, но мне так проще. Так эта конструкция у меня отрабатывала минут 12, счас минуту. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kid79 Опубликовано 30 июля, 2018 (изменено) · Жалоба Добрый день. Подскажите пожалуйста, беспокоят вот эти значения в Perf top 9.88% [kernel] [k] ipt_do_table 9.58% [kernel] [k] i40e_napi_poll 5.64% [kernel] [k] _raw_spin_lock при трафике 2 гига, на машине бегают и реальные адреса и нат procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 5439180 587704 1177096 0 0 0 1 0 6 0 8 92 0 0 прерывания раскиданы 46: 0 0 0 0 0 0 635 0 PCI-MSI 1572864-edge i40e-0000:03:00.0:misc 47: 2562674416 0 1 0 0 0 0 0 PCI-MSI 1572865-edge i40e-ens5f0-TxRx-0 48: 0 1835352639 0 0 1 0 0 0 PCI-MSI 1572866-edge i40e-ens5f0-TxRx-1 49: 0 0 1772755685 0 0 1 0 0 PCI-MSI 1572867-edge i40e-ens5f0-TxRx-2 50: 0 0 0 2204772948 0 0 1 0 PCI-MSI 1572868-edge i40e-ens5f0-TxRx-3 51: 0 0 0 0 1769309477 0 0 1 PCI-MSI 1572869-edge i40e-ens5f0-TxRx-4 52: 1 0 0 0 0 1817750699 0 0 PCI-MSI 1572870-edge i40e-ens5f0-TxRx-5 53: 0 1 0 0 0 0 1721942464 0 PCI-MSI 1572871-edge i40e-ens5f0-TxRx-6 54: 0 0 1 0 0 0 0 1800411534 PCI-MSI 1572872-edge i40e-ens5f0-TxRx-7 55: 0 0 0 0 0 0 0 0 PCI-MSI 1572873-edge i40e-0000:03:00.0:fdir-TxRx-0 90: 0 0 0 0 0 0 0 0 PCI-MSI 1574912-edge i40e-0000:03:00.1:misc 99: 0 0 0 0 0 0 0 0 PCI-MSI 1574921-edge i40e-0000:03:00.1:fdir-TxRx-0 126: 0 0 0 0 0 0 0 0 PCI-MSI 4718592-edge i40e-0000:09:00.0:misc 135: 0 0 0 0 0 0 0 0 PCI-MSI 4718601-edge i40e-0000:09:00.0:fdir-TxRx-0 152: 0 0 0 0 0 2 0 0 PCI-MSI 4720640-edge i40e-0000:09:00.1:misc 153: 2626365712 0 0 0 0 0 1 0 PCI-MSI 4720641-edge i40e-ens3f1-TxRx-0 154: 0 1913746365 0 0 0 0 0 1 PCI-MSI 4720642-edge i40e-ens3f1-TxRx-1 155: 1 0 1852590434 0 0 0 0 0 PCI-MSI 4720643-edge i40e-ens3f1-TxRx-2 156: 0 1 0 2312190469 0 0 0 0 PCI-MSI 4720644-edge i40e-ens3f1-TxRx-3 157: 0 0 1 0 1843220283 0 0 0 PCI-MSI 4720645-edge i40e-ens3f1-TxRx-4 158: 0 0 0 1 0 1895687565 0 0 PCI-MSI 4720646-edge i40e-ens3f1-TxRx-5 159: 0 0 0 0 1 0 1802796199 0 PCI-MSI 4720647-edge i40e-ens3f1-TxRx-6 160: 0 0 0 0 0 1 0 1879610207 PCI-MSI 4720648-edge i40e-ens3f1-TxRx-7 161: 0 0 0 0 0 0 0 0 PCI-MSI 4720649-edge i40e-0000:09:00.1:fdir-TxRx-0 сетевка 03:00.1 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ не велики ли значения, и почему прерываний так много? Изменено 30 июля, 2018 пользователем kid79 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zhenya` Опубликовано 30 июля, 2018 · Жалоба 8% разве много? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vasya_petrovich Опубликовано 31 июля, 2018 · Жалоба А кто и как решает проблему с приоритезацией трафика? Например в htb есть опция prio Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vitaliy_8282 Опубликовано 19 октября, 2018 (изменено) · Жалоба Можно попросить топистартера запилить модуль "ipt_hasjump". Суть его в хешировании цепочек правил iptables по отношению к подсетям. Суть вопроса: Хочется убрать много лишних правил в фаерволе, которые нельзя объединить IPSETом в одно правило, тем самым снизить нагрузку на процессоры. Правила NAT трансляций невозможно объединить IPSETом. И если таких правил много (например, NAT 1к1 большого кол-ва адресов), то каждый пакет будет пробегать по большому кол-ву лишних правил фаервола, чего оооооочень хочется избежать. Короче, хочется модуль, который будет обрабатывать правило типа: iptables -A -m ipt_hashjump --ipt_hashjump-set "name" --ipt_hashjump-mode=src[,dst] -j HASHJUMP файл /proc/net/ipt_hashjump/name содержит соответствия IP сетей к цепочкам фаервола: x.x.x.x/x сhainname1 y.y.y.y/y сhainname2 ....... Заранее спасибо))) Изменено 19 октября, 2018 пользователем vitaliy_8282 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 19 ноября, 2018 · Жалоба Решил поковырять на досуге. Впал в ступор. echo @+10.1.1.0/24,10.1.10.0/21,10.10.3.0/24,10.111.11.0/24 200000000 > /proc/net/ipt_ratelimit/download bash: echo: write error: Invalid argument Куда копать? /sbin/modinfo ipt_ratelimit filename: /lib/modules/3.18.19/extra/xt_ratelimit.ko alias: ip6t_ratelimit alias: ipt_ratelimit version: 0.3 license: GPL description: iptables ratelimit policer mt module author: <abc@telekom.ru> srcversion: 4DD302109E2E4AC9AF56D06 depends: x_tables vermagic: 3.18.19 SMP mod_unload modversions parm: hashsize:default size of hash table used to look up IPs (uint) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 19 ноября, 2018 · Жалоба Прошу прощения, я лопух. До этого стоял старый модуль 0.2, новый пересобрал а вот про rmmod/modprobe забыл. lsmod | grep rate xt_ratelimit 17388 0 x_tables 19041 11 ipt_NETFLOW,xt_recent,ip_tables,xt_tcpudp,xt_state,xt_ratelimit,xt_LOG,xt_nat,xt_multiport,iptable_filter,iptable_mangle rmmod xt_ratelimit lsmod | grep rate iptables -I FORWARD 7 -o eth1 -m ratelimit --ratelimit-set download --ratelimit-mode dst -j DROP lsmod | grep rate xt_ratelimit 21712 1 x_tables 19041 11 ipt_NETFLOW,xt_recent,ip_tables,xt_tcpudp,xt_state,xt_ratelimit,xt_LOG,xt_nat,xt_multiport,iptable_filter,iptable_mangle Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kev Опубликовано 13 февраля, 2019 · Жалоба А какое кол-во IP можно добавлять? У меня при добавлении больше двух вываливается ошибка #echo +192.168.1.1,192.168.1.2,192.168.1.3 > /proc/net/ipt_ratelimit/download bash: echo: write error: Invalid argument Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kev Опубликовано 14 февраля, 2019 · Жалоба 12 часов назад, kev сказал: А какое кол-во IP можно добавлять? У меня при добавлении больше двух вываливается ошибка #echo +192.168.1.1,192.168.1.2,192.168.1.3 > /proc/net/ipt_ratelimit/download bash: echo: write error: Invalid argument #stdbuf -o8K echo +192.168.1.1,192.168.1.2,192.168.1.3 > /proc/net/ipt_ratelimit/download Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
passer Опубликовано 14 февраля, 2019 · Жалоба 15 часов назад, kev сказал: echo +192.168.1.1,192.168.1.2,192.168.1.3 > /proc/net/ipt_ratelimit/download Мне одному кажется, что скорость не задана? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alex39x Опубликовано 10 октября, 2019 · Жалоба Привет. Есть ли возможность посмотреть передан ли параметр :hotdrop модулю? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
avovtchak Опубликовано 19 мая, 2020 · Жалоба а в каких единицах в статусе выдается значение last ? Предполагаю, что не в секундах, как написано в ридми. Может быть в десятых секунды? или в миллисекундах? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aabc Опубликовано 20 мая, 2020 · Жалоба 17 hours ago, avovtchak said: а в каких единицах в статусе выдается значение last ? Предполагаю, что не в секундах, как написано в ридми. Может быть в десятых секунды? или в миллисекундах? В тиках ядра, jiffies. См. CONFIG_HZ вашего ядра. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_summit_ Опубликовано 26 мая, 2020 · Жалоба Тестируем модуль. Debian9, ядро 4.9.0-12-amd64. Работает. При шейпировании, у абонента вырастает латентность сети. Смотртит в онлайн играх. Время пингов увеличивается в несколько раз (примерно с 40 мс до 200 мс). Это наблюдается даже при том, что установленная скорость превышает физ. скорость интерфеса. Грубо говоря, мы ставим ограничение в 200 Мб/с на 100 Мб порту. В тестовой среде пока нет ни трафика, ни большого числа абонентов. У нас пока 3 записи (абонента) всего и 1 Гбит/с. Кто сталкивался, подскажите какие параметры ядра смотреть или не замечали такого поведения? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 26 мая, 2020 · Жалоба Разумеется, отклик увеличится на то время, что пакет находится в буфере. Чем больше буфер, тем больше задержка. Ищите баланс между комфортным шейпингом и приемлемым пингом. Или используйте полисинг с правильно подобранным burst. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_summit_ Опубликовано 26 мая, 2020 · Жалоба 8 minutes ago, alibek said: Разумеется, отклик увеличится на то время, что пакет находится в буфере. Чем больше буфер, тем больше задержка. Где найти параметр, который отвечает за размер этого буфера? 10 minutes ago, alibek said: Или используйте полисинг с правильно подобранным burst. Пробовал уменьшать cbs, ebs. Стало хуже. Используем по умолчанию. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
avovtchak Опубликовано 27 мая, 2020 · Жалоба 16 hours ago, _summit_ said: Где найти параметр, который отвечает за размер этого буфера? ifconfig eth1 txqueuelen 10000 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_summit_ Опубликовано 4 июня, 2020 (изменено) · Жалоба On 5/26/2020 at 5:25 PM, alibek said: Разумеется, отклик увеличится на то время, что пакет находится в буфере. On 12/31/2015 at 10:36 AM, aabc said: В полисинге ничего быстрее не ходит так как нет буфера, это просто фильтр. On 5/27/2020 at 10:28 AM, avovtchak said: ifconfig eth1 txqueuelen 10000 Это просто длина выходной очереди. Резка идет еще до того как пакет попадет сюда. Есть некоторые особенности работы полисера, которые, на мой взгляд, не позволяют полноценно использовать его в сетях операторов связи. В частности, при хорошей такой загрузке канала (скачивание торрента, например), все остальное полисер жестко дропает, не давая шансов пакету покинуть NAS в сторону абонента. Если, к примеру, папа качает фильм, то ребенку в танки нормально уже не поиграть. Я не нашел настроек чтобы как-то изменить данное поведение. Изменено 4 июня, 2020 пользователем _summit_ Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
hRUst Опубликовано 4 июня, 2020 · Жалоба Ну так это и есть ratelimit, а не shaper Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bike Опубликовано 4 июня, 2020 · Жалоба 2 часа назад, _summit_ сказал: Если, к примеру, папа качает фильм, то ребенку в танки нормально уже не поиграть. Я не нашел настроек чтобы как-то изменить данное поведение. OFFTOP - А Вам, в данном вопросе, поможет только DPI с классификацией трафика и его приоритетизированием, откуда ipt ratelimit узнает, что тут танки, а тут торрент. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 4 июня, 2020 · Жалоба 55 минут назад, bike сказал: OFFTOP - А Вам, в данном вопросе, поможет только DPI с классификацией трафика и его приоритетизированием Не обязательно, штатный линуховый tc прекрасно с этим справляется. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
_summit_ Опубликовано 4 июня, 2020 · Жалоба 1 hour ago, hRUst said: Ну так это и есть ratelimit, а не shaper Это полисер. И многие используют и все ОК. Но у нас при первом же тесте абон завопил, что танки лагают. Я ничего не имею против полисера, просто предупреждаю тех кто собирается использовать, что будет так. 52 minutes ago, bike said: OFFTOP - А Вам, в данном вопросе, поможет только DPI с классификацией трафика и его приоритетизированием, откуда ipt ratelimit узнает, что тут танки, а тут торрент. DPI тут совершенно не нужен. Просто нужны выходные очереди, которые могут ненадолго задержать пакет, но все-же его выпустят. Можно, конечно, классифицировать трафик до полисера, но простота его применения сходит на нет. Щас на тесте стоит tc. Даже в самой простой настройке карйне геморойный. Но более "деликатно" относиться к пользовательскому трафику. Он формирует выходные очереди и практически нет дропов пакетов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vop Опубликовано 4 июня, 2020 · Жалоба У меня провайдер так настроил полисер, что каждый второй ssh заканчивается, не начавшись: ssh_exchange_identification: Connection closed by remote host Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pppoetest Опубликовано 4 июня, 2020 · Жалоба 2 часа назад, _summit_ сказал: Это полисер. И многие используют и все ОК. Но у нас при первом же тесте абон завопил, что танки лагают. Я ничего не имею против полисера, просто предупреждаю тех кто собирается использовать, что будет так. Странно, наши танкисты молчат, полисер в работе более полугода, переехали с шейпера. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...