Перейти до

помогите с настройкой шейпера


Рекомендованные сообщения

имеется шейпер по ип адресам с ограничением пропускной способности

"USR1ID=1

USR1IP=10.0.0.1
USR1DOWNSPD=1500
tc class add dev eth0 parent 1: classid 1:$USR1ID cbq $USR1DOWNSPD\kbit allot 1500 prio 5 bounded isolated
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst $USR1IP flowid 1:$USR1ID

tc qdisc add dev eth0 parent 1:$USR1ID sfq perturb 10",

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

 

(как на микротике

ТСПip firewall filter add chain=forward action=drop tcp-flags=syn protocol=tcp src-address-list=torrent_limit dst-port=!80,443,8080 connection-limit=40,32

УДП ip firewall filter add chain=forward action=drop protocol=udp src-address-list=torrent_limit connection-limit=40,32)

 

 

Всем спс..

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

Вот так:

 

iptables -A INPUT -p tcp -m mport --dports 80,443,8080 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m mport --dports 80,443,8080 -m conntrack --ctstate NEW -m hashlimit --hashlimit-above 40/sec --hashlimit-burst 1 --hashlimit-mode srcip --hashlimit-name abc --hashlimit-htable-expire 120000 -j REJECT --reject-with tcp-reset

iptables -A INPUT -p udp -m mport --dports 80,443,8080 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp -m mport --dports 80,443,8080 -m conntrack --ctstate NEW -m hashlimit --hashlimit-above 40/sec --hashlimit-burst 1 --hashlimit-mode srcip --hashlimit-name abc --hashlimit-htable-expire 120000 -j REJECT --reject-with icmp-port-unreachable

 

Ограничит до 40 соединений в секунду по tcp/udp. Вместо REJECT можно поставить DROP, если маршрутизатор сильно нагружен. Как добавить IP, думаю, разберётесь.

Відредаговано N.Leiten
Ссылка на сообщение
Поделиться на других сайтах

имеется шейпер по ип адресам с ограничением пропускной способности

"USR1ID=1

USR1IP=10.0.0.1
USR1DOWNSPD=1500
tc class add dev eth0 parent 1: classid 1:$USR1ID cbq $USR1DOWNSPD\kbit allot 1500 prio 5 bounded isolated
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip dst $USR1IP flowid 1:$USR1ID

tc qdisc add dev eth0 parent 1:$USR1ID sfq perturb 10",

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

 

(как на микротике

ТСПip firewall filter add chain=forward action=drop tcp-flags=syn protocol=tcp src-address-list=torrent_limit dst-port=!80,443,8080 connection-limit=40,32

УДП ip firewall filter add chain=forward action=drop protocol=udp src-address-list=torrent_limit connection-limit=40,32)

 

 

Всем спс..

Оганичение количества сессий строится на правилах iptables, если я правильно понимаю то torrent_limit это список ipset. По человечески эти правила должны выглядеть так:

iptables -t filter -A FORWARD -j DROP -p tcp --tcp-flags SYN -m st --match-set torrent_files src -m multiport --dport ! 80,443,8080 -m connlimit --connlimit-above 40 

хотя конечно могут быть варианы команды, но для этого надо знать что значат все цифирки.

И еще, крайне рекомендую в самом шейпере использовать хеш-таблици для создания правил. А то если много правил будет - машина свернется.

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

 

 

Так а смысле предоставлять, например, людям 100М и при этом резать ппс до 1к?

Да можно, но есть ещё и ftp... А так вообще нужно просто знать и чувствовать границы(свои и своей не резиновой сети с точки зрения ппс)

 

 

 

если не будет 100М...

Вот дальше я не совсем понял Ваши мысли.

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

все там будет ...

 

поставил рейт 200ппс для юдп, 2 мбита скорость

 

 

/ip firewall filter

add action=add-dst-to-address-list address-list=dst_list chain=forward dst-address=192.168.100.20 protocol=udp

add action=add-src-to-address-list address-list=src_list chain=forward dst-address=!192.168.100.20 protocol=udp

add chain=forward dst-address-list=dst_list dst-limit=200,200,dst-address protocol=udp

add chain=forward src-address-list=src_list dst-limit=200,200,src-address protocol=udp

add action=reject chain=forward dst-address-list=dst_list protocol=udp

add action=reject chain=forward src-address-list=src_list protocol=udp

 

post-21976-0-36132000-1390940015_thumb.png

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

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

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

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

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

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

Вхід

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

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від MaxB
      Налаштували, все працює, АЛЕ виявили деякі моменти:
      Не працює якщо змінити швидкість тарифу в меньшу сторону!!!
       
      Ресет не вихід кожному натискати, масовий ресет, бувають не всі спрацьовують.
       
      Цікавить що можливо зробити щоб саме через цей функціонал (динамічний шейпер) зробити в певний час швидкість тарифу меньшу.
       
      Ще раз нагадаю, що в більшу сторону все працює чудово.
       
      Купаген також не дуже поки що цікавить та як білінг знаходиться віддалено від мікротик і зв'язок інколи буває поганий...
    • Від vit75
      Подскажите как в Микротик ограничить скорость на одного юзера например на 20Мбит. Желательно одним или не сколькими правилами а не создавать 100 правили, если юзеров 100.
      Еще желательнее, чтобы у клиента была вилка скорости. Например от 30 до 50. Если внешний канал не загружен то у юзера 50. Канал заполнен, получает 30.
      Но главное чтобы не 100 правил если 100 юзеров. Спасибо. 
       
    • Від GrDEV
      Добрый день.
      Не могу понять в чем проблема.
       
      root@test:~ # ipfw show 06000 287415 263993118 nat 1 ip from table(2) to not table(9) out xmit bge0 06001 384822 314863014 nat 1 ip from any to me in recv bge0 12000      0         0 pipe tablearg ip from table(3) to any via bge1 in 12001      0         0 pipe tablearg ip from any to table(4) via bge1 out 65533      0         0 deny ip from table(2) to any via bge1 65534      0         0 deny ip from any to table(2) via bge1 65535 673284 579017237 allow ip from any to any   root@test:~ # ipfw pipe list 18101:  20.000 Mbit/s    0 ms burst 0 q149173 32 KB 0 flows (1 buckets) sched 83637 weight 0 lmax 0 pri 0 droptail  sched 83637 type FIFO flags 0x0 0 buckets 0 active 00101:   5.000 Mbit/s    0 ms burst 0 q131173 32 KB 0 flows (1 buckets) sched 65637 weight 0 lmax 0 pri 0 droptail  sched 65637 type FIFO flags 0x0 0 buckets 0 active   root@test:~ # ipfw table 3 list 10.20.0.2/32 101   root@test:~ # ipfw table 4 list 10.20.0.2/32 18101   Тестовый комп получает нужный IP Но вот шейпер не работает. Должно быть 20Мбит/5Мбит. В реале спидтест показывает в разы больше. Что может быть?
    • Від GrDEV
      Добрый день.
      Как реализовать различные скоростя для мира и UA IX?
       
      Интересует именно техническая реализация.
      Я понимаю как организовать шейпирование трафика для одного класса трафика. Но вот как шейпить имея два класса трафика....
    • Від Бодя Бэшений
      Добро дня
      потрібна порада
      на свічу SGSW-24240 є Юридична фірма якій потрібно обмежити швидкість по порту
      все би нічого страшного але швидкість обмежена повинна бути в 125 мегабіт)
       
      Чи є якісь команди які поможуть це зробити ?
      дякую
       
×
×
  • Створити нове...