Сеть

Ответить
 • Просмотры: 1
Аватара пользователя
oxide

Сеть

Сообщение oxide »

Допустим у меня есть сеть в которой 10 пользователей. Ещё у меня есть DSL подключение со скоростью 1 мег. Теперь главное Изображение Как мне каждому пользователи назначить определённую скорось, например, одному 256 кб, другому 128 кб, третьему 64 кб и тд. Что для этого нужно? Какой софт, какое железо.

P.S. на сервере у меня *nix.

Заранее спасибою
Аватара пользователя
archy

Re: Сеть

Сообщение archy »

Тебе нужен iptables, так что man его Изображение
Аватара пользователя
lcat

Re: Сеть

Сообщение lcat »

Да ты прав, перепутал с cbq Изображение

На сайте разработчика CBQ, он сам написал что htb превосходит его алгоритм. Так что про cbq можно забыть Изображение
Аватара пользователя
ihc

Re: Сеть

Сообщение ihc »

lcat Уже не Изображение Изначально -- потому что WRR активно и очень удобно юзается на кошках. Аналог в линухе был, да вот уже не используется, как я понял. Пока что есть верианты htb/cbq, но у меня -- только у меня пока что -- они не дают нужного результата. Как закончу тесты, скину результаты.
Аватара пользователя
ihc

Re: Сеть

Сообщение ihc »

скрипты на sh + awk требуют sh + awk; если сравнить с php или perl -- выгода в размере очевидна Изображение Как в смысле самих скриптов (хотя тут перл может поспорить), так и в смысле интерпретаторов (а тут все просто за бортом). А cgi пускается встроенным в busybox httpd.
Аватара пользователя
archy

Re: Сеть

Сообщение archy »

iptables это хорошо конечно, но реально ли разобратся в нём новечку. Хотя ладно разберусь Изображение а как насчёт железа? Или хватит 1 компа под сервер и пару трой ку хабов?
Аватара пользователя
oxide

Re: Сеть

Сообщение oxide »

Не непонял я пока в как это в iptables сделать. Покажите пожалуйста на конкретном примере, какой файл редактировать, если надо.
Аватара пользователя
oxide

Re: Сеть

Сообщение oxide »

в двух словах: iptables пока оставь Изображение) В смысле, с его помощью можно сделать маскарад, но не зажать траффик.



про то, как надо: допустим, надо пользователю 10.0.0.10 зажать траффик до 64Kbit



1) делаем корневую очередь на девайсе к пользователю, советую HTB





Код:

Код: Выделить всё

tc qdisc add dev eth0 root handle 1:0 htb

2) создаём класс, котoрый будет жать траффик





Код:

Код: Выделить всё

tc class add dev eth0 parent 1:0 classid 1:1 htb rate 64Kbit

3) вешаем очередь SFQ за классом, чтобы зажатый траффик был более-менее равномерен





Код:

Код: Выделить всё

tc qdisc add dev eth0 parent 1:1 sfq perturb 10

4) создаём фильтр, который будет кидать траффик в класс





Код:

Код: Выделить всё

tc filter add dev eth0 parent 1:0 protocol ip prio 16 u32 match ip dst 10.0.0.10 flowid 1:1

всё. Смотрим статистику.





Код:

Код: Выделить всё

tc -s qdisc show
tc -s class show dev eth0
tc filter show dev eth0

кстати, в том дистре, который я сегодня объявлял это бы выглядело так:





Код:

Код: Выделить всё

!
shaper rule test
        address 10.0.0.10
        bound 64Kbit
!
ip shaper ethernet 0
        shaper rule test
!

а вообще
http://lartc.org
Аватара пользователя
oxide

Re: Сеть

Сообщение oxide »

ihc я перепутал, sfq с чем то другим уже не всмомню Изображение, поэтому так и написал

http://linux-ip.net/articles/Traffic...ss-qdiscs.html
тут об этом все написано, в картинках
Аватара пользователя
oxide

Re: Сеть

Сообщение oxide »

Вот тебе как должно быть полность с использованием htb, sfq ( отдыхает Изображение, не обижайтесь )

#!/bin/bash

# Describe env

TC=/sbin/tc

# use bandwidth 1mbps

# ROOT rule

$TC qdisc add dev eth0 root handle 1:0 htb default 2

# sub class of root

$TC class add dev eth0 parent 1:0 classid 1:1 htb rate 1mbps ceil 1mbps



$TC class add dev eth0 parent 1:1 classid 1:12 htb rate 256kbps ceil 512kbps

$TC class add dev eth0 parent 1:1 classid 1:13 htb rate 128kbps ceil 512kbps

$TC class add dev eth0 parent 1:1 classid 1:14 htb rate 64kbps ceil 512kbps





$TC filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 192.168.0.2 flowid 1:12

$TC filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 192.168.0.3 flowid 1:13

$TC filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 192.168.0.4 flowid 1:14



# это для создание pfifo каналов вместо по умолчание fast_fifo, если память не изменяет Изображение

$TC qdisc add dev eth0 parent 1:12 handle 50:0 pfifo limit 5

$TC qdisc add dev eth0 parent 1:13 handle 51:0 pfifo limit 5

$TC qdisc add dev eth0 parent 1:14 handle 52:0 pfifo limit 5



# default param for htb, сюда весь трафик который не фильтруеться

$TC class add dev eth0 parent 1:1 classid 1:2 htb rate 1kbps ceil 1kbps

$TC qdisc add dev eth0 parent 1:2 handle 100:0 pfifo limit 5



rate и ceil очень удобные параментры, в данной конфигурации к примеру если никто не сидит в сети то чел

у которого rate 64kbps ceil 512kbps, скорость подымиться до 512килобит Изображение. Вообщем сам решай тут и читай доки само собой.

Вот еще хороший сайт по THB
http://www.docum.org/docum.org/docs/
.
Ответить

Вернуться в «Общий по Linux»