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

ipt-ratelimit трафик полисинг в iptables

Автору этого чудного модуля - Многая лета!

+1

 

Выяснилась причина падения серверов, с ядрами > 3.2 и accel-ppp. Причина в accel-ppp или нелюбви новых ядер к accel-ppp.

Это уже все знают. А вот что у них не дружит, вот это бы узать))))

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


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

telecom

Без PPP они дружат замечательно, аццель в IPOE у нас на 3.18 работает уже год наверное.

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


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

Скачал debian 8 поставил - запускаю.

root@wed:/home/wed/ipt-ratelimit-master# iptables -m ratelimit --help
iptables v1.4.21
...
ratelimit match options:
 --ratelimit-set <name>    Name of the ratelimit set to be used.
                           DEFAULT will be used if none given.
 --ratelimit-mode <mode>   Address match: src or dst.
xt_ratelimit by: ABC <abc@telekom.ru>.


root@wed:/home/wed/ipt-ratelimit-master# modinfo xt_ratelimit.ko
filename:       /home/wed/ipt-ratelimit-master/xt_ratelimit.ko
alias:          ipt_ratelimit
version:        0.1
license:        GPL
description:    iptables ratelimit policer mt module
author:         <abc@telekom.ru>
srcversion:     E057A6E1DF92696D4514F88
depends:        x_tables
vermagic:       3.16.0-4-amd64 SMP mod_unload modversions 
parm:           hashsize:default size of hash table used to look up IPs (uint)


root@wed:/home/wed/ipt-ratelimit-master# iptables --ratelimit-set name0 --ratelimit-mode src -j DROP
iptables v1.4.21: unknown option "--ratelimit-set"
Try `iptables -h' or 'iptables --help' for more information.

Пишет unknown option "--ratelimit-set"

Что может быть? куда копнуть дальше?

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


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

Скачал debian 8 поставил - запускаю.

root@wed:/home/wed/ipt-ratelimit-master# iptables --ratelimit-set name0 --ratelimit-mode src -j DROP
iptables v1.4.21: unknown option "--ratelimit-set"
Try `iptables -h' or 'iptables --help' for more information.

Пишет unknown option "--ratelimit-set"

Что может быть? куда копнуть дальше?

Может так ?

iptables -A FORWARD --ratelimit-set name0 --ratelimit-mode src -j DROP

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


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

Нет не помогло

root@wed:/home/wed/ipt-ratelimit-master# iptables -A FORWARD --ratelimit-set name0 --ratelimit-mode src -j DROP
iptables v1.4.21: unknown option "--ratelimit-set"
Try `iptables -h' or 'iptables --help' for more information.

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


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

wed

-m ratelimit забыли.

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


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

В каком плане?

iptables -m ratelimit --ratelimit-set name0 --ratelimit-mode src -j DROP
iptables v1.4.21: no command specified
Try `iptables -h' or 'iptables --help' for more information.

 

 iptables -m ratelimit 
iptables v1.4.21: ratelimit: option "--ratelimit-set" must be specified

Try `iptables -h' or 'iptables --help' for more information.

 

Надо писать все команды с добавлением -m ratelimit?

 

Заработало

iptables -A FORWARD -m ratelimit --ratelimit-set name0 --ratelimit-mode src -j DROP

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


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

wed

Перед --ratelimit* опциями напишите -m ratelimit, как в примерах в README.

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


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

скажите, а такую конструкцию

 

 

echo +10.0.0.0,10.0.0.1,10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5,10.0.0.6,10.0.0.7,10.0.0.8,10.0.0.9,10.0.0.10,10.0.0.11,10.0.0.12,10.0.0.13,10.0.0.14,10.0.0.15,10.0.0.16,10.0.0.17,10.0.0.18,10.0.0.19,10.0.0.20,10.0.0.21,10.0.0.22,10.0.0.23,10.0.0.24,10.0.0.25,10.0.0.26,10.0.0.27,10.0.0.28,10.0.0.29,10.0.0.30,10.0.0.31,10.0.0.32,10.0.0.33,10.0.0.34,10.0.0.35,10.0.0.36,10.0.0.37,10.0.0.38,10.0.0.39,10.0.0.40,10.0.0.41,10.0.0.42,10.0.0.43,10.0.0.44,10.0.0.45,10.0.0.46,10.0.0.47,10.0.0.48,10.0.0.49,10.0.0.50,10.0.0.51,10.0.0.52,10.0.0.53,10.0.0.54,10.0.0.55,10.0.0.56,10.0.0.57,10.0.0.58,10.0.0.59,10.0.0.60,10.0.0.61,10.0.0.62,10.0.0.63,10.0.0.64,10.0.0.65,10.0.0.66,10.0.0.67,10.0.0.68,10.0.0.69,10.0.0.70,10.0.0.71,10.0.0.72,10.0.0.73,10.0.0.74,10.0.0.75,10.0.0.76,10.0.0.77,10.0.0.78,10.0.0.79,10.0.0.80,10.0.0.81,10.0.0.82,10.0.0.83,10.0.0.84,10.0.0.85,10.0.0.86,10.0.0.87,10.0.0.88,10.0.0.89,10.0.0.90,10.0.0.91,10.0.0.92,10.0.0.93,10.0.0.94,10.0.0.95,10.0.0.96,10.0.0.97,10.0.0.98,10.0.0.99,10.0.0.100,10.0.0.101,10.0.0.102,10.0.0.103,10.0.0.104,10.0.0.105,10.0.0.106,10.0.0.107,10.0.0.108,10.0.0.109,10.0.0.110,10.0.0.111,10.0.0.112,10.0.0.113,10.0.0.114,10.0.0.115,10.0.0.116,10.0.0.117,10.0.0.118,10.0.0.119,10.0.0.120,10.0.0.121,10.0.0.122,10.0.0.123,10.0.0.124,10.0.0.125,10.0.0.126,10.0.0.127,10.0.0.128,10.0.0.129,10.0.0.130,10.0.0.131,10.0.0.132,10.0.0.133,10.0.0.134,10.0.0.135,10.0.0.136,10.0.0.137,10.0.0.138,10.0.0.139,10.0.0.140,10.0.0.141,10.0.0.142,10.0.0.143,10.0.0.144,10.0.0.145,10.0.0.146,10.0.0.147,10.0.0.148,10.0.0.149,10.0.0.150,10.0.0.151,10.0.0.152,10.0.0.153,10.0.0.154,10.0.0.155,10.0.0.156,10.0.0.157,10.0.0.158,10.0.0.159,10.0.0.160,10.0.0.161,10.0.0.162,10.0.0.163,10.0.0.164,10.0.0.165,10.0.0.166,10.0.0.167,10.0.0.168,10.0.0.169,10.0.0.170,10.0.0.171,10.0.0.172,10.0.0.173,10.0.0.174,10.0.0.175,10.0.0.176,10.0.0.177,10.0.0.178,10.0.0.179,10.0.0.180,10.0.0.181,10.0.0.182,10.0.0.183,10.0.0.184,10.0.0.185,10.0.0.186,10.0.0.187,10.0.0.188,10.0.0.189,10.0.0.190,10.0.0.191,10.0.0.192,10.0.0.193,10.0.0.194,10.0.0.195,10.0.0.196,10.0.0.197,10.0.0.198,10.0.0.199,10.0.0.200,10.0.0.201,10.0.0.202,10.0.0.203,10.0.0.204,10.0.0.205,10.0.0.206,10.0.0.207,10.0.0.208,10.0.0.209,10.0.0.210,10.0.0.211,10.0.0.212,10.0.0.213,10.0.0.214,10.0.0.215,10.0.0.216,10.0.0.217,10.0.0.218,10.0.0.219,10.0.0.220,10.0.0.221,10.0.0.222,10.0.0.223,10.0.0.224,10.0.0.225,10.0.0.226,10.0.0.227,10.0.0.228,10.0.0.229,10.0.0.230,10.0.0.231,10.0.0.232,10.0.0.233,10.0.0.234,10.0.0.235,10.0.0.236,10.0.0.237,10.0.0.238,10.0.0.239,10.0.0.240,10.0.0.241,10.0.0.242,10.0.0.243,10.0.0.244,10.0.0.245,10.0.0.246,10.0.0.247,10.0.0.248,10.0.0.249,10.0.0.250,10.0.0.251,10.0.0.252,10.0.0.253,10.0.0.254,10.0.0.255 10000000 > /proc/net/ipt_ratelimit/name0

 

модуль прожует? и сильно ли это скажется на производительности?

 

это 10.0.0.0/24 =)

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


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

boco

256 адресов в 1 строку для модуля, по производительности, то же самое, что и 256 строк. Там используется хэш таблица, размер таблицы по умолчанию 10000 (можно менять параметром hashsize), т.е. 256 значений, это будет ерунда.

 

Единственное, сейчас есть ограничение на длинну строки 4000 байт, у вас вышло 2716, так что всё нормально.

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


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

сейчас есть ограничение на длинну строки 4000 байт, у вас вышло 2716, так что всё нормально.

спасибо! а могу я увеличить в исходнике proc_buf и не будет ли от этого вреда?

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


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

boco

Да. Не будет.

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


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

Как там перспективы на полисинг с маской? У нас по /29 на пользователя выдаётся, например, хочется попробовать.

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


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

Dyr

Пока были неясности с тем что за паника у sanyasi я решил не усложнять код. Как выяснилось, проблемы были из-за accel-ppp. Так что скоро сделаю префиксы.

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


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

OK, буду ждать!

 

Спасибо за модуль(-и). :)

 

 

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


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

Пока были неясности с тем что за паника у sanyasi я решил не усложнять код. Как выяснилось, проблемы были из-за accel-ppp. Так что скоро сделаю префиксы.

А по поддержке ipv6 какие перспективы?

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


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

taf_321

Пока не планировал, сначала с префиксами разберемся.

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


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

 

Цитата

А возможно сделать чтоб добавлять IP к уже работающему тарифу, без удаления ?

 

Зачем? Разве не просто сделать -+?

тоже хотелось бы чтобы правило нарезки имел свой classID для управления что повлечёт за собой создание иерархии в виде дерева HTB

 

и ещё если я правильно понял conf 0/0 ---0--- bps это битрейт, но почему-то он не всегда правильно отображает иногда режет в половину

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

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


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

[...] bps это битрейт, но почему-то он не всегда правильно отображает иногда режет в половину

 

Как вы это поняли?

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


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

[...] bps это битрейт, но почему-то он не всегда правильно отображает иногда режет в половину

 

Как вы это поняли?

я прогнал тестом с 128 кбит и дальше на каждом шаге умножая на 2 и получил вот что.

На первый взгляд работает верно.

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

rate_limit.png

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


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

Как вы это поняли?

 

хотя скорость нарезает правильно+ %10 11.15 Mb/s

cat  /proc/net/ipt_ratelimit/test_out | awk '{print $1, $16/1024/1024/8, $13}'
10.10.0.100 7.87615 0;
cat  /proc/net/ipt_ratelimit/test_out | awk '{print $1, $16/1024/1024/8, $13}'
10.10.100 7.95314 1;
cat  /proc/net/ipt_ratelimit/test_out | awk '{print $1, $16/1024/1024/8, $13}'
10.10.0.100 8.02012 0;
cat  /proc/net/ipt_ratelimit/test_out | awk '{print $1, $16/1024/1024/8, $13}'
10.10.0.100 8.05435 0;
cat  /proc/net/ipt_ratelimit/test_out | awk '{print $1, $16/1024/1024/8, $13}'
10.10.0.100 8.77058 0;
cat  /proc/net/ipt_ratelimit/test_out | awk '{print $1, $16/1024/1024/8, $13}'
10.10.0.100 8.82375 0;
cat  /proc/net/ipt_ratelimit/test_out | awk '{print $1, $16/1024/1024/8, $13}'
10.10.0.100 8.82043 0;
cat  /proc/net/ipt_ratelimit/test_out | awk '{print $1, $16/1024/1024/8, $13}'
10.10.0.100 8.81012 0;

 

 

нужно время для отображения или я что-то не понимаю

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

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


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

SiXeD

Это значение bps не используется для ограничения скорости, это скорее значение для тестирования. Рассчитывается как кол-во байт между первым и последним пакетом деленное на время. Т.е. это усреднение за весь интервал.

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


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

есть возможность вывести реальный битрейт для отслеживания онлайн

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


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

[...] bps это битрейт, но почему-то он не всегда правильно отображает иногда режет в половину

 

Как вы это поняли?

я прогнал тестом с 128 кбит и дальше на каждом шаге умножая на 2 и получил вот что.

На первый взгляд работает верно.

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

Тест единственной сессией TCP? Возможно похоже на "биение" скорости, типично если нет PID алгоритма(или его аналога) в TCP congestion control на передающем устройстве и в шейпере.

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


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

есть возможность вывести реальный битрейт для отслеживания онлайн

 

Есть, но это увеличит нагрузку, что не целесообразно. Просто знайте, что bps это средняя скорость за весь период. В крайнем случае, можно это убрать из статистики раз это вводит в заблуждение.

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.