Re: [SOLVED] Ограничение ма ксимальной скорости п о IP

2008-02-04 Пенетрантность Dmitriy Sirant

Покотиленко Костик пишет:

В Пнд, 04/02/2008 в 12:46 +0200, Dmitriy Sirant пишет:

А вот интересно как это? Выдаем IP с маской /32 или/30 ?
Буду благодарен, если узнаешь подробнее.
Все оказалось опять на уровне костылей... Я почему-то думал, что там 
используются новые стандарты какие-то из RFC касательно DHCP.


Система простая. В биллинге хранится информация свитч - порт - мак-адрес 
- клиент. DHCP выдает статический серый IP согласно mac. Крутится 
софтинка, которая проверяет остаток денег и если он ниже определенного 
уровня посылает на свитч snmp команду port shutdown.


До этого все терминировалось в PPPoE на 7206 NPE2, но не тянуло больше 
3к клиентов. Как по мне, все это усугубляется тем, что внутренний 
траффик бесплатен (и что самое плохое незашейплен) и внутри сети народ 
делает что хочет. Естественно это разрулено по VLAN, но всеравно все 
открыто (всмысле клиент из одного VLAN видет клиента из другого VLAN и 
траффик бесплатен).


А какой тогда смысл в VLAN'ах?



Я думаю что для разделения на клиентов корпоративных и таких... сильно 
не вникал.



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [SOLVED] Ограничение ма ксимальной скорости п о IP

2008-02-03 Пенетрантность Stanislav Kruchinin

Mikhail A Antonov wrote:

На несколько тысяч клиентов использовать _любой_ VPN - гадость. ИМХО.
В таких ситуациях правильнее использовать коммутаторы, умеющие привязку 
MAC+Port и соответственно маршрутизатор, умеющий MAC+IP.

И всеравно разбивать сеть на VLAN-ы.



О том и речь. PPPoE вообще не стоит внедрять, т.к. от него все равно 
прийдется отказаться.



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [SOLVED] Ограничение ма ксимальной скорости п о IP

2008-02-03 Пенетрантность Stanislav Kruchinin

Mikhail A Antonov wrote:
Угу, на VLAN-ы разбили, на один сервер взвалили несколько VLAN-ов и все 
довольны.




Один сервер будет и вланы маршрутизировать и терминировать PPPoE? 
Интересно, что это должен быть за сервер. Внутрисетевой трафик от 
нескольких тысяч клиентов, создающих пакетрейты порядка 1 mpps потянут 
только маршрутизирующие коммутаторы.



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [SOLVED] Ограничение ма ксимальной скорости п о IP

2008-02-03 Пенетрантность Stanislav Kruchinin

Dmitriy Sirant wrote:


Кстати, тоже считаю что в домашних сетях pppoe более приемлем, т.к. нет 
нужды в поднятии маршрутизации на серых сетях - как следствие весь 
траффик идет через наш терминирующий сервер (ну кроме пользователей 
предела одного сегмента которые подключены в свитч и то если смогут 
договорится и поднять серые IP сами).


Немаршрутизируемый протокол PPPoE приемлем только для абонентских 
окончаний DSL. В сетях с ним возникают проблемы, которые проявляются по 
мере роста. Большую сеть в любом случае придется разбивать на VLANы и 
маршрутизировать, чтобы урезать широковещательный трафик. И что тогда, в 
каждом сегменте устанавливать по серверу?



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [SOLVED] Ограничение ма ксимальной скорости п о IP

2008-02-03 Пенетрантность Maxim Tyurin
Покотиленко Костик пишет:
\skip
>>> Я объяснюсь, я не рекламирую это ПО, я говорю я
>>> удобству такой конструкции.
>> Удобству для кого? Для потребителя услуг, определенно, нет.
> 
> Перечислите наиболее удобные для Вас способы авторизации в домашней
> сети. 

В тех домосетях что я видел использовалось
OpenVPN/pptp/pppoe

Последнее уже вроде никто не использует.

-- 

With Best Regards, Maxim Tyurin
JID:[EMAIL PROTECTED]




signature.asc
Description: OpenPGP digital signature


Re: [SOLVED] Ограничение ма ксимальной скорости п о IP

2008-02-01 Пенетрантность Nicholas

Покотиленко Костик wrote:

Так сложнее получается. Чем мне не нравится править классы HTB, так это
постоянным пересчётом a1=a11+a12+a13... Конечно, понятно, что это один
раз надо сделать, но,


каждая команда делает 256 правил автоматом (`seq 1 254` - для примера )

for i in `seq 1 254`; do echo "tc class add dev eth0 parent 1:  classid 
1:$i htb rate 64kbps ceil 128kbps burst 150k" >> tc.conf; done;



 опять же, придётся забить кучу классов, большая
часть из которых будет простаивать, а следовательно, придётся ещё думать
как не используемую ширину канала одалживать


это делает htb автоматом - вы можете указать каждому клиенту свою 
минимальную и максимальную ширину, можно максимальную не указывать 
(ceil) - htb разделит дополнительную скорость пропорционально.
Если суммарная выделенная клиентам ширина канала, наоборот, больше 
реальной - htb тоже все пересчитает пропорционально  (при нагрузке, а 
пока клиентов мало всем даст столько сколько в правиле для клиента 
прописанно).


Вы можете делать "деревья" - root сделать 1:, первую ветвь 1:888 для 
обычных поьзователей и вторую для анлимит 1:777


http://www.opennet.ru/docs/RUS/LARTC/x1075.html#THEQDISCFAMILYROOTSHANDLESSIBLINGSANDPARENTS


tc qdisc add dev eth0 root handle 1: htb default  1 

tc class add dev eth0 parent 1: classid 1: htb rate 2mbit burst 15k 

tc class add dev eth0 parent 1: classid 1:888 htb rate 1mbit ceil 
1mbit burst 15k
tc class add dev eth0 parent 1: classid 1:777 htb rate 1mbit ceil 
1mbit burst 15k



и определять общую скорость для всех пользователей группы + для каждого 
пользователя в группе.


tc class add dev eth0 parent 1:777 classid 1:71 htb rate 128kbit ceil 
256kbit burst 15k

...
tc class add dev eth0 parent 1:777 classid 1:7254 htb rate 128kbit ceil 
256kbit burst 15k и т.д.


в этом примере комада для создания правила будет тоже с семеркой перед 
"номером хоста" (1-254)
for i in `seq 1 254`; do echo "tc class add dev eth0 parent 1:777 
classid 1:7$i htb rate 128kbps ceil 256kbps burst 150k" >> tc.conf; done;


надо сказать что 4 правила для каждого из 255 ip для двух подситей 
(4*255*2=2040) совсем не "грузят" htb.


С уважением, Николай.

PS

rrd tool как раз и ведет статистику, а графики рисует по требованию.
Основная идея - снимать статистику удобнее именно tc (htb) - наименее 
затратный и наиболее точный способ (так как это не "грузит" процессор вы 
можете ее снимать как угодно часто).


tc -s -d qdisc show dev eth0 



--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: [SOLVED] Ограничение ма ксимальной скорости п о IP

2008-01-31 Пенетрантность Nicholas

Покотиленко Костик wrote:

- Добавляем только ещё один HTB класс со скоростью, например 1kbit/s -
это для приземления превышения скорости.


Логичнее дать каждому пользователю соразмерную минимально 
гарантированную (rate) и максимальную (ceil) ширину канала.

(rate 64kbps ceil 128kbps, как вариант)


Вопрос: есть ли дисциплина позволяющая ограничивать максимальную
скорость до указанного значения для каждого IP отдельно,


Возможно стоить выдавать анлимитчикам ip из определенной подсети и 
заранее сделать правила  для всех (каждого) ip этой подсети.

(клас, дисциплина и фильтры входящий/исходящий - по 4 правила)

Процесс можно автоматизировать, примерно, так:

echo "tc qdisc add dev eth0 root handle 1: htb default" > tc.conf

for i in `seq 1 254`; do echo "tc class add dev eth0 parent 1:  classid 
1:$i htb rate 64kbps ceil 128kbps burst 150k" >> tc.conf; done;


for i in `seq 1 254`; do echo "tc qdisc add dev eth0 parent 1:$i handle 
$i: sfq perturb 10" >> tc.conf; done;


for i in `seq 1 254`; do echo "tc filter add dev eth0 parent 1: protocol 
ip prio 1 u32 match ip src xx.xx.xx.$i flowid 1:$i" >> tc.conf; done;


for i in `seq 1 254`; do echo "tc filter add dev eth0 parent 1: protocol 
ip prio 1 u32 match ip dst xx.xx.xx.$i flowid 1:$i" >> tc.conf; done;



Если вы будете использовать openvpn для авторизации, то eth0 можно 
заменить на tap0


Кроме того, если вы используете дисциплину htb, удобно с ее подружить с 
rrd и смотреть графики нагрузки по ip.


С уважением, Николай.


--
Sincerely,
Nicholas


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]