Перейти до

Ограничение исходящего трафика для юзеров


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

Есть сервер на Asp 11, шейпер стоит cbq. Как известно он режет только входящий трафик. Как можно проще всего зарезать исходящий трафик юзеров ??? можно даже не разделять их по скорости. как например дать каждому юзеру канал на отправку не больше, чем, например, 128kbps ???

Ссылка на сообщение
Поделиться на других сайтах
Есть сервер на Asp 11, шейпер стоит cbq. Как известно он режет только входящий трафик. Как можно проще всего зарезать исходящий трафик юзеров ??? можно даже не разделять их по скорости. как например дать каждому юзеру канал на отправку не больше, чем, например, 128kbps ???

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

Ссылка на сообщение
Поделиться на других сайтах
Надо резать входящий от юзеров трафик. :)

мда... я понимаю что настроение у вас хорошее, но а конкретней можно о методе реализации !!!

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

конечно, если не сложно....

Вот честно сказать у меня не заработало так как описано:)

если кто разбереться в чем бок буду благодарен

У знакомого работает на ура он этот скрипт в ip-up запускает

#!/bin/sh

# Единицы измерения -- килобиты
UP=$1
DOWN=$2
DEV=$3
# очистка входящей и исходящей qdisc
tc qdisc del dev $DEV root
tc qdisc del dev $DEV ingress

###### исходящий трафик

# установка корневой CBQ
tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth ${UP}kbit
tc class add dev $DEV parent 1: classid 1:1 cbq rate ${UP}kbit \
allot 1500 prio 5 bounded isolated

# высокоприоритетный (интерактивный) класс 1:10:
tc class add dev $DEV parent 1:1 classid 1:10 cbq rate ${UP}kbit \
allot 1600 prio 1 avpkt 1000
tc class add dev $DEV parent 1:1 classid 1:20 cbq rate $[9*$UP/10]kbit \
allot 1600 prio 2 avpkt 1000

# оба получают дисциплину Stochastic Fairness:
tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev $DEV parent 1:20 handle 20: sfq perturb 10

# определения фильтров
# TOS = Minimum-Delay (ssh, НО НЕ scp) -- в 1:10:
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip tos 0x10 0xff  flowid 1:10

# ICMP (ip protocol 1) -- в интерактивный класс 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 11 u32 \
match ip protocol 1 0xff flowid 1:10

# Поднять скорость входящего трафика, при наличии исходящего -- передать ACK-пак
еты
# в интерактивный класс:

tc filter add dev $DEV parent 1: protocol ip prio 12 u32 \
match ip protocol 6 0xff \
match u8 0x05 0x0f at 0 \
match u16 0x0000 0xffc0 at 2 \
match u8 0x10 0xff at 33 \
flowid 1:10

# остальной трафик не является интерактивным поэтому передаем его в 1:20

tc filter add dev $DEV parent 1: protocol ip prio 13 u32 \
match ip dst 0.0.0.0/0 flowid 1:20

########## входящий трафик #############
# присоединить входной ограничитель:

tc qdisc add dev $DEV handle ffff: ingress

# сбрасывать все подряд (0.0.0.0/0), что приходит со слишком большой скоростью.

tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip src \
0.0.0.0/0 police rate ${DOWN}kbit burst 10k drop flowid :1

при этом speedtest.net

показывает практически идеально как на шейпере.

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

насколько я вижу это зарезка на интерфейс

соответственно работать данный пример будет на впн соединении

на билленге типа старгейзера пахать не будет

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

соответственно работать данный пример будет на впн соединении

на билленге типа старгейзера пахать не будет

ну собственно никто не ставил задачу на стг

у меня впн и для него и ищу соответствующее решение.

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

ааа и где?

этот пример который я кинул из lartc не особо работает :) я тоьлко не особо шарю от чего, да и некогда было разбираться.

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

Вот пример из мана по установке биллинга Абиллс. Вполне рабочий пример...

 

/sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 1

/sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit burst 4k

/sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit burst 4k prio 1

/sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit burst 4k prio 2

/sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1500

/sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1500

/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10

/sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10

/sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10

 

### speed client->server

/sbin/tc qdisc add dev $1 handle ffff: ingress

/sbin/tc filter add dev $1 parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate ${DOWNSPEED}kbit burst 12k drop flowid :1

 

 

$1 - интерфейс

$UPSPEED $DOWNSPEED - скорость

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

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити нове...