Страница 1 из 1

Юзерам - строго определённый канал, остальное - динамич

Добавлено: 2007-06-18 17:23:17
OSBoy
Мне нужно реализовать такую картину: из канала 256кб/с дать строго по 64кб/с двум клиентам, а остальную часть канала распределять динамически своему рабочему компьютеру и http/ftp серверам, установленным на одной машине с фаерволом, чтобы никто не "лежал"!
Я поступил следующим образом: сначала создал пайпы интернет-клиент и клиент-интернет (для каждого клиента), а затем очереди: весь трафик от/к обоих клиентов, трафик от/к http/ftp-серверам, и трафик от/к моему рабочему компьютеру. То есть получилось что трафик клиентов сперва проходит pipe с ограничением 64кб/с, а потом попадает в очередь и ещё один pipe, куда попадает и весь остальной трафик и соответственно шейпится.
Для каждого pipe стоят свои параметры gred.
Вопросы такие:
1.Есть ли смысл указывать gred ещё и для очередей (и вообще можно ли это)?
2.Правильно ли указаны веса для очередей в моём случае?
3.Верна ли вообще моя задумка и будет ли правильно работать такая схема?
4.Есть ли альтернативное решение задачи, без использования последовательного "каскада" из pipe'ов?

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

###-------------------------------------------------
###Shaper:
#Пайпы для клинтов:
${ipfw} pipe 11 config mask src-ip 0xffffffff bw 64Kbit/s queue 10 gred 0.002/2/5/0.1
${ipfw} pipe 12 config mask dst-ip 0xffffffff 64Kbit/s queue 10 gred 0.002/2/5/0.1
${ipfw} add 400 pipe 11 ip from table\(1\) to any out recv ${vif} xmit ${oif}
${ipfw} add 400 pipe 12 ip from any to table\(1\) out recv ${oif} xmit ${vif}
#Пайпы для ВСЕГО трафика:
${ipfw} pipe 21 config bw 0 queue 20 gred 0.002/4/10/0.1
${ipfw} pipe 22 config bw 0 queue 20 gred 0.002/4/10/0.1
#Сначала создаю очереди:
${ipfw} queue 11 config pipe 21 queue 20 weight 1 #От моего компьютера в интернет
${ipfw} queue 12 config pipe 22 queue 20 weight 1 #Из интернета к моему компьютеру
${ipfw} queue 21 config pipe 21 queue 20 weight 1 #Из интернета к серверу
${ipfw} queue 22 config pipe 22 queue 20 weight 1 #От сервера в интернет
${ipfw} queue 31 config pipe 21 queue 20 weight 100 #От обоих клинтов в интернет
${ipfw} queue 32 config pipe 22 queue 20 weight 100 #Из интернета к обоим клиентам
${ipfw} add 410 queue 11 ip from ${myip} to any out recv ${mif} xmit ${oif}
${ipfw} add 410 queue 12 ip from any to ${myip} out recv ${oif} xmit ${mif}
${ipfw} add 410 queue 21 tcp from any to ${oip} 21,80,65515-65535 in via ${oif}
${ipfw} add 410 queue 22 tcp from ${oip} 20,21,80,65515-65535 to any out via ${oif}
${ipfw} add 410 queue 31 ip from table\(1\) to any out recv ${vif} xmit ${oif}
${ipfw} add 410 queue 32 ip from any to table\(1\) out recv ${oif} xmit ${vif}
###-------------------------------------------------
$vip,$vif - IP интерфейса и интерфейс со стороны клиентов;
$oip,$oif - IP интерфейса и интерфейс со стороны интернета;
$mip,$mif - IP интерфейса и интерфейс со стороны моего рабочего компьютера;
$myip - IP адрес моего рабочего компьютера;
Table(1) - адреса клиентов.

Позже нашёл вот эту статью, насколько я понимаю, я именно так и сделал. Но скорость у клиентов только несколько секунд держится на 64кб/с, а затем плавно снижается либо вообще падает до нуля! :(
В чём может быть моя ошибка???

Re: Юзерам - строго определённый канал, остальное - динамич

Добавлено: 2009-03-08 23:04:15
Alex Keda
решил?

Re: Юзерам - строго определённый канал, остальное - динамич

Добавлено: 2009-03-09 15:14:58
OSBoy
Да, давно уже :smile:

Re: Юзерам - строго определённый канал, остальное - динамич

Добавлено: 2009-03-09 15:24:35
Alex Keda
ну и чё было?

Re: Юзерам - строго определённый канал, остальное - динамич

Добавлено: 2009-03-09 16:04:47
OSBoy
Да я сейчас не вспомню уже, я сейчас канал своим нахлебникам динамически делю - 3 мегабита на троих...