The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Разделение канала в Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Разделение канала в Linux"  
Сообщение от hyp email on 27-Июн-08, 20:28 
Всем здрасвуйте!
Задача:
Есть роутер на базе Linux,
к eth0(10.10.0.1) подключен свич через который в инет ходит две клиентских машины(10.10.0.2 и 10.10.0.5)
к eth1(192.168.1.2) подключен ADSL(192.168.1.1) модем который тоже настроен роутером
Нужно между клиентами разделить канал поровну.

При решении задачи пробовал использовать tc из пакета iproute2, утилита мне не знакома и показалась более тяжелой для освоения чем например iptables
Все советы которые нашел гугл делят канал для разных портов но не клиентов, поэтому самостоятельно решить не удалось.
Буду благодарен за советы.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Разделение канала в Linux"  
Сообщение от hertz email on 28-Июн-08, 15:01 
tc qdisc add dev eth1 root handle 1: htb default 30
tc class add dev eth1 parent 1: classid 1:1 htb rate 8mbit ceil 8mbit
tc class add dev eth1 parent 1:1 classid 1:10 htb rate 2mbit ceil 8mbit
tc class add dev eth1 parent 1:1 classid 1:20 htb rate 2mbit ceil 8mbit
tc class add dev eth1 parent 1:1 classid 1:30 htb rate 4mbit ceil 8mbit

tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev eth1 parent 1:30 handle 30: sfq perturb 10

tc filter add dev eth1 parent 1: protocol ip prio 1 u32 match ip src 10.10.0.2 flowid 1:10
tc filter add dev eth1 parent 1: protocol ip prio 2 u32 match ip src 10.10.0.5 flowid 1:20

писал по памяти
в результате будет гарантированная (ИСХОДЯЩАЯ!!!) скорость в 2 мбита для обоих клиентов и 4 мбита для всех прочих. при этом, если полоса по любому из классов простаивает (не используется на полную), то остатки могут быть перераспределены между другими классами (пропорционально rate)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Разделение канала в Linux"  
Сообщение от hyp email on 28-Июн-08, 20:29 
если я все правильно понял то если я добавлю
tc filter add dev eth0 parent 1: protocol ip prio 1 u32 match ip dst 10.10.0.2 flowid 1:10
tc filter add dev eth0 parent 1: protocol ip prio 2 u32 match ip dst 10.10.0.5 flowid 1:20

то тоже самое произойдет с входящим. Так?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Разделение канала в Linux"  
Сообщение от heap email on 03-Июл-08, 11:39 
>если я все правильно понял то если я добавлю
>tc filter add dev eth0 parent 1: protocol ip prio 1 u32
>match ip dst 10.10.0.2 flowid 1:10
>tc filter add dev eth0 parent 1: protocol ip prio 2 u32
>match ip dst 10.10.0.5 flowid 1:20
>
>то тоже самое произойдет с входящим. Так?

Ниче не понял - судя по всему eth1 смотрит наружу и я так понимаю действует NAT. Тогда правила касательно eth1 не заматчат ни одного пакета, так как в них уже будет измененный ip src. Зато как вариант поставить в iptables на эти пакеты метку, и матчить ее в фильтре. А на eth0 можно и по айпи.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Разделение канала в Linux"  
Сообщение от eugen on 29-Июн-08, 10:42 
>Задача:
>Есть роутер на базе Linux,
>Нужно между клиентами разделить канал поровну.

поставь htb.init - это скрипт-обертка над tc и ip - http://sourceforge.net/projects/htbinit/.
все легко и просто, дока и примеры в начале самого скрипта.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру