* [Comm] Как разделять узкую полосу пропускания для входящего трафика?
@ 2009-01-16 9:05 Денис Черносов
2009-01-18 10:14 ` Vasyuk_Maksim
` (2 more replies)
0 siblings, 3 replies; 21+ messages in thread
From: Денис Черносов @ 2009-01-16 9:05 UTC (permalink / raw)
To: ALT Linux Community general discussions
С тех пор, как перешли на безлимитный, но медленный интернет, есть
задача разделить полосу пропускания по приоритетам и/или
гарантированным полосам пропускания.
Сначала настраивал в SQUID - всё понятно, всё настраивается (в т.ч. и
по mime-типам). Одна беда - часть критически важного трафика плывет
мимо него. Также за бортом остаются потенциально прожорливые протоколы
типа torrent и ftp.
Стал настраивать QoS в etcnet - немного разобрался, настроил по
примеру... и обнаружил, что это всё для исходящего трафика, который
для меня не сильно критичен (разве что веб-серверу легче будет
немного).
Поиски вывели сюда:
http://www.masters.donntu.edu.ua/2004/kita/batyr/library/message1.htm
Очень интересная статья, осилил до конца и понял, что счастье моё в
IMQ (наверное).
Остались вопросы:
1) как правильно это прикрутить к etcnet?
2) как выделить тот самый входящий, если у меня разрешающее правило
через ESTABLISH,RELATED?
Для определенности скажем я хочу, чтобы хорошо бегал трафик на 443-й
tcp и обратно + притормозить входящий ftp. Полоса интерфейса 256кбит.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-16 9:05 [Comm] Как разделять узкую полосу пропускания для входящего трафика? Денис Черносов
@ 2009-01-18 10:14 ` Vasyuk_Maksim
2009-01-21 18:44 ` Maxim Tyurin
2009-02-02 8:38 ` Alexey Borovskoy
2 siblings, 0 replies; 21+ messages in thread
From: Vasyuk_Maksim @ 2009-01-18 10:14 UTC (permalink / raw)
To: ALT Linux Community general discussions
Денис Черносов пишет:
> С тех пор, как перешли на безлимитный, но медленный интернет, есть
> задача разделить полосу пропускания по приоритетам и/или
> гарантированным полосам пропускания.
> Сначала настраивал в SQUID - всё понятно, всё настраивается (в т.ч. и
> по mime-типам). Одна беда - часть критически важного трафика плывет
> мимо него. Также за бортом остаются потенциально прожорливые протоколы
> типа torrent и ftp.
> Стал настраивать QoS в etcnet - немного разобрался, настроил по
> примеру... и обнаружил, что это всё для исходящего трафика, который
> для меня не сильно критичен (разве что веб-серверу легче будет
> немного).
>
> Поиски вывели сюда:
> http://www.masters.donntu.edu.ua/2004/kita/batyr/library/message1.htm
> Очень интересная статья, осилил до конца и понял, что счастье моё в
> IMQ (наверное).
> Остались вопросы:
> 1) как правильно это прикрутить к etcnet?
> 2) как выделить тот самый входящий, если у меня разрешающее правило
> через ESTABLISH,RELATED?
>
> Для определенности скажем я хочу, чтобы хорошо бегал трафик на 443-й
> tcp и обратно + притормозить входящий ftp. Полоса интерфейса 256кбит.
А поиски на HTB не выводили? ;)
Это мой скрипт который занимаеться разделением трафика.
Может и коряво, но работает! )
#!/bin/bash
DOWNLINK=2000
UPLINK=1024
DEV=ppp999
# очистка входящей и исходящей qdisc
tc qdisc del dev $DEV root 2> /dev/null > /dev/null
tc qdisc del dev $DEV ingress 2> /dev/null > /dev/null
###### исходящий трафик
# установка корневой HTB, отправить трафик по-умолчанию в 1:20:
tc qdisc add dev $DEV root handle 1: htb default 20
# ограничить общую исходящую скорость величиной $UPLINK -- это предотвратит
# появление огромных очередей в DSL модеме,
# которые отрицательно сказываются на величине задержки:
tc class add dev $DEV parent 1: classid 1:1 htb rate ${UPLINK}kbit burst 1k
# высокоприоритетный (интерактивный) класс 1:10:
tc class add dev $DEV parent 1:1 classid 1:10 htb rate $[UPLINK/2]kbit \
burst 1k prio 1
# класс по-умолчанию 1:20 -- получает немного меньший объем трафика
# и имеет более низкий приоритет:
#tc class add dev $DEV parent 1:1 classid 1:20 htb rate
$[9*$UPLINK/10]kbit \
# burst 20k prio
2
tc class add dev $DEV parent 1:1 classid 1:20 htb rate 8kbit \
burst 50k prio 2
#tc class add dev $DEV parent 1:1 classid 1:20 htb rate 10kbit \
# burst 40k prio 2
tc class add dev $DEV parent 1:1 classid 1:30 htb rate $[UPLINK/2/2]kbit \
burst 1k prio 3
# оба получают дисциплину 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
#tc qdisc add dev $DEV parent 1:30 handle 30: 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 10 u32 \
match ip protocol 1 0xff flowid 1:30
############
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip dport 80 0xff flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip dport 8500 0xff flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip dport 8080 0xff flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip dport 5190 0xff flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip dport 110 0xff flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip dport 3999 0xff flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip dport 8000 0xff flowid 1:10
tc filter add dev $DEV parent 1:0 protocol ip prio 10 u32 \
match ip dport 25 0xff flowid 1:10
# Поднять скорость входящего трафика, при наличии исходящего -- передать
ACK-пакеты
# в интерактивный
класс:
tc filter add dev $DEV parent 1: protocol ip prio 10 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
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 217.70.119.218 flowid 1:30
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 80.64.94.12 flowid 1:10
#lenege
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 89.249.27.112 flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 4.69.141.74 flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 217.70.119.181 flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 90.189.192.111 flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 212.164.71.12 flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 194.228.101.195 flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip src 172.19.0.17 flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip src 172.19.0.2 flowid 1:10
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 \
match ip dst 217.18.158.27 flowid 1:10
# остальной трафик не является интерактивным поэтому он попадает в 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 ${DOWNLINK}kbit burst 10k drop flowid :1
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-16 9:05 [Comm] Как разделять узкую полосу пропускания для входящего трафика? Денис Черносов
2009-01-18 10:14 ` Vasyuk_Maksim
@ 2009-01-21 18:44 ` Maxim Tyurin
2009-01-22 13:35 ` Денис Черносов
2009-02-02 8:38 ` Alexey Borovskoy
2 siblings, 1 reply; 21+ messages in thread
From: Maxim Tyurin @ 2009-01-21 18:44 UTC (permalink / raw)
To: ALT Linux Community general discussions
Денис Черносов writes:
> С тех пор, как перешли на безлимитный, но медленный интернет, есть
> задача разделить полосу пропускания по приоритетам и/или
> гарантированным полосам пропускания.
> Сначала настраивал в SQUID - всё понятно, всё настраивается (в т.ч. и
> по mime-типам). Одна беда - часть критически важного трафика плывет
> мимо него. Также за бортом остаются потенциально прожорливые протоколы
> типа torrent и ftp.
> Стал настраивать QoS в etcnet - немного разобрался, настроил по
> примеру... и обнаружил, что это всё для исходящего трафика, который
> для меня не сильно критичен (разве что веб-серверу легче будет
> немного).
А что мешает шейпить прожерливые torrent & ftp на интерфейсе который
смотрит в локалку?
--
With Best Regards, Maxim Tyurin
JID: MrKooll@jabber.pibhe.com
___
/ _ )__ _____ ___ ____ _______ _____
/ _ / // / _ \/ _ `/ _ `/ __/ // (_-<
/____/\_,_/_//_/\_, /\_,_/_/ \_,_/___/
/___/
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-21 18:44 ` Maxim Tyurin
@ 2009-01-22 13:35 ` Денис Черносов
2009-01-22 13:43 ` Maks Re
0 siblings, 1 reply; 21+ messages in thread
From: Денис Черносов @ 2009-01-22 13:35 UTC (permalink / raw)
To: ALT Linux Community general discussions
21 января 2009 г. 22:44 пользователь Maxim Tyurin
<mrkooll@bungarus.info> написал:
> Денис Черносов writes:
>
>> С тех пор, как перешли на безлимитный, но медленный интернет, есть
>> задача разделить полосу пропускания по приоритетам и/или
>> гарантированным полосам пропускания.
>> Сначала настраивал в SQUID - всё понятно, всё настраивается (в т.ч. и
>> по mime-типам). Одна беда - часть критически важного трафика плывет
>> мимо него. Также за бортом остаются потенциально прожорливые протоколы
>> типа torrent и ftp.
>> Стал настраивать QoS в etcnet - немного разобрался, настроил по
>> примеру... и обнаружил, что это всё для исходящего трафика, который
>> для меня не сильно критичен (разве что веб-серверу легче будет
>> немного).
>
> А что мешает шейпить прожерливые torrent & ftp на интерфейсе который
> смотрит в локалку?
Прикольная идея... Надо обдумать...
>
> --
>
> With Best Regards, Maxim Tyurin
> JID: MrKooll@jabber.pibhe.com
> ___
> / _ )__ _____ ___ ____ _______ _____
> / _ / // / _ \/ _ `/ _ `/ __/ // (_-<
> /____/\_,_/_//_/\_, /\_,_/_/ \_,_/___/
> /___/
> _______________________________________________
> community mailing list
> community@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-22 13:35 ` Денис Черносов
@ 2009-01-22 13:43 ` Maks Re
2009-01-22 13:56 ` Dmitriy Kruglikov
` (2 more replies)
0 siblings, 3 replies; 21+ messages in thread
From: Maks Re @ 2009-01-22 13:43 UTC (permalink / raw)
To: ALT Linux Community general discussions
>> А что мешает шейпить прожерливые torrent & ftp на интерфейсе который
>> смотрит в локалку?
>
> Прикольная идея... Надо обдумать...
>
Ну наврное тот факт что тогдла мы уже получили траффик а потом ограничили...
в большой сети - это метод воспитания.
а в маленькой - оплата трафика...
--
С уважением,
Макс.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-22 13:43 ` Maks Re
@ 2009-01-22 13:56 ` Dmitriy Kruglikov
2009-01-22 15:55 ` Vasyuk_Maksim
2009-01-22 16:01 ` Vasyuk_Maksim
2 siblings, 0 replies; 21+ messages in thread
From: Dmitriy Kruglikov @ 2009-01-22 13:56 UTC (permalink / raw)
To: ALT Linux Community general discussions
22 января 2009 г. 15:43 пользователь Maks Re написал:
> Ну наврное тот факт что тогдла мы уже получили траффик а потом ограничили...
При таком ограничении, пока не будет принять пакет N, не будет передан
запрос на N+1 ...
Ограничение работать будет, канал будет забиваться значительно меньше...
Быстро пакет приплыл, канал освободил, ждет, когда будет передан с
локального интерфейса клиенту ...
Канал (внешний) свободен до получения квитанции на пакет
и запроса клиента на следующий ...
--
Как правильно задавать вопросы:
http://maddog.sitengine.ru/smart-question-ru.html
Помогает:
http://search.altlinux.org
Best regards,
Dmitriy L. Kruglikov
Dmitriy.Kruglikov_at_gmail_dot_com
DKR6-RIPE
DKR6-UANIC
XMPP: Dmitriy.Kruglikov_at_gmail_dot_com
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-22 13:43 ` Maks Re
2009-01-22 13:56 ` Dmitriy Kruglikov
@ 2009-01-22 15:55 ` Vasyuk_Maksim
2009-01-22 17:29 ` Maxim Tyurin
2009-01-22 16:01 ` Vasyuk_Maksim
2 siblings, 1 reply; 21+ messages in thread
From: Vasyuk_Maksim @ 2009-01-22 15:55 UTC (permalink / raw)
To: ALT Linux Community general discussions
Maks Re пишет:
>>> А что мешает шейпить прожерливые torrent & ftp на интерфейсе который
>>> смотрит в локалку?
>>>
>> Прикольная идея... Надо обдумать...
>>
>>
>
> Ну наврное тот факт что тогдла мы уже получили траффик а потом ограничили...
> в большой сети - это метод воспитания.
> а в маленькой - оплата трафика...
>
Так по полной управлять можешь только исходящим трафиком, или я ошибаюсь?
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-22 15:55 ` Vasyuk_Maksim
@ 2009-01-22 17:29 ` Maxim Tyurin
2009-01-23 6:51 ` Денис Черносов
0 siblings, 1 reply; 21+ messages in thread
From: Maxim Tyurin @ 2009-01-22 17:29 UTC (permalink / raw)
To: ALT Linux Community general discussions
Vasyuk Maksim writes:
> Maks Re пишет:
>>>> А что мешает шейпить прожерливые torrent & ftp на интерфейсе который
>>>> смотрит в локалку?
>>>>
>>> Прикольная идея... Надо обдумать...
>>>
>>>
>>
>> Ну наврное тот факт что тогдла мы уже получили траффик а потом ограничили...
>> в большой сети - это метод воспитания.
>> а в маленькой - оплата трафика...
>>
> Так по полной управлять можешь только исходящим трафиком, или я ошибаюсь?
Не ошибаешься. Шейпят исходящий трафик. На роутере на каком-то из
интерфейсов трафик будет исходящим. Вот там его и шейпить :)
--
With Best Regards, Maxim Tyurin
JID: MrKooll@jabber.pibhe.com
___
/ _ )__ _____ ___ ____ _______ _____
/ _ / // / _ \/ _ `/ _ `/ __/ // (_-<
/____/\_,_/_//_/\_, /\_,_/_/ \_,_/___/
/___/
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-22 17:29 ` Maxim Tyurin
@ 2009-01-23 6:51 ` Денис Черносов
2009-01-23 8:38 ` Maxim Tyurin
0 siblings, 1 reply; 21+ messages in thread
From: Денис Черносов @ 2009-01-23 6:51 UTC (permalink / raw)
To: ALT Linux Community general discussions
Рассказываю как понял и прошу поправить, если ошибся...
На примере ftp и https:
В цепочке FORWARD мне нужно отлавливать пакеты с -o $LAN_IFACE
--src-address ! $LAN_NET + src-port 443 и src-port 20,21.
А потом одним гарантировать полосу, а другие замедлять по мере надобности.
Правильно?
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-23 6:51 ` Денис Черносов
@ 2009-01-23 8:38 ` Maxim Tyurin
2009-01-23 9:34 ` Денис Черносов
0 siblings, 1 reply; 21+ messages in thread
From: Maxim Tyurin @ 2009-01-23 8:38 UTC (permalink / raw)
To: ALT Linux Community general discussions
Денис Черносов writes:
> Рассказываю как понял и прошу поправить, если ошибся...
>
> На примере ftp и https:
> В цепочке FORWARD мне нужно отлавливать пакеты с -o $LAN_IFACE
> --src-address ! $LAN_NET + src-port 443 и src-port 20,21.
Тут неправильно. Если нужно маркировать трафик для шейпера то это
делается в таблице mangle, а в ней нет FORWARD :)
> А потом одним гарантировать полосу, а другие замедлять по мере надобности.
>
> Правильно?
Вроде того. Только ftp-data ХЗ по какому порту пойдет.
Я всегда делаю три полосы. В более приоритетные направляю явно. Все
остальное - в третью полосу.
--
With Best Regards, Maxim Tyurin
JID: MrKooll@jabber.pibhe.com
___
/ _ )__ _____ ___ ____ _______ _____
/ _ / // / _ \/ _ `/ _ `/ __/ // (_-<
/____/\_,_/_//_/\_, /\_,_/_/ \_,_/___/
/___/
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-23 8:38 ` Maxim Tyurin
@ 2009-01-23 9:34 ` Денис Черносов
2009-01-23 12:46 ` Maxim Tyurin
0 siblings, 1 reply; 21+ messages in thread
From: Денис Черносов @ 2009-01-23 9:34 UTC (permalink / raw)
To: ALT Linux Community general discussions
23 января 2009 г. 12:38 пользователь Maxim Tyurin
<mrkooll@bungarus.info> написал:
> Денис Черносов writes:
>
>> Рассказываю как понял и прошу поправить, если ошибся...
>>
>> На примере ftp и https:
>> В цепочке FORWARD мне нужно отлавливать пакеты с -o $LAN_IFACE
>> --src-address ! $LAN_NET + src-port 443 и src-port 20,21.
>
> Тут неправильно. Если нужно маркировать трафик для шейпера то это
> делается в таблице mangle, а в ней нет FORWARD :)
Ну да, я просто сразу в две стороны думать начал :) Сначала в iptables
маркировать пакеты или сразу в правилах HTB фильтровать. Тоже
интересно - есть ли какие-то фундаментальные аргументы за тот или
другой способ (например, скорость обработки). Или это только дело
вкуса?
>> А потом одним гарантировать полосу, а другие замедлять по мере надобности.
>>
>> Правильно?
>
> Вроде того. Только ftp-data ХЗ по какому порту пойдет.
Я как раз про это и хотел уточнить. Мысль была такая, что если
исходящий трафик будет *на* порт (dst-port 80|443|21), то входящий
будет либо *с* того же порта, либо, как в случае с ftp, *с* другого
известного (src-port 80|443|20).
>
> Я всегда делаю три полосы. В более приоритетные направляю явно. Все
> остальное - в третью полосу.
Ну я тоже склоняюсь, что для моей задачи проще приоритетному трафику
гарантировать полосу, чем остальное урезать...
Есть также мысль к более приоритетным отнести все udp-пакеты. Чтобы с
ip-телефонией проблем было меньше и с другими поточными вещами. Есть в
этом смысл или лучше не стоит?
> --
>
> With Best Regards, Maxim Tyurin
> JID: MrKooll@jabber.pibhe.com
> ___
> / _ )__ _____ ___ ____ _______ _____
> / _ / // / _ \/ _ `/ _ `/ __/ // (_-<
> /____/\_,_/_//_/\_, /\_,_/_/ \_,_/___/
> /___/
> _______________________________________________
> community mailing list
> community@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-23 9:34 ` Денис Черносов
@ 2009-01-23 12:46 ` Maxim Tyurin
2009-01-26 13:25 ` Денис Черносов
0 siblings, 1 reply; 21+ messages in thread
From: Maxim Tyurin @ 2009-01-23 12:46 UTC (permalink / raw)
To: ALT Linux Community general discussions
Денис Черносов writes:
> Ну да, я просто сразу в две стороны думать начал :) Сначала в iptables
> маркировать пакеты или сразу в правилах HTB фильтровать. Тоже
> интересно - есть ли какие-то фундаментальные аргументы за тот или
> другой способ (например, скорость обработки). Или это только дело
> вкуса?
Дело вкуса. Я практически всегда использую маркировку в iptables.
Потому что это способ наиболее гибок. А больший оверхед меня не
смущает - оно у меня и на домашней WL-500gP без напряга работает :)
>
>>> А потом одним гарантировать полосу, а другие замедлять по мере надобности.
>>>
>>> Правильно?
>>
>> Вроде того. Только ftp-data ХЗ по какому порту пойдет.
>
> Я как раз про это и хотел уточнить. Мысль была такая, что если
> исходящий трафик будет *на* порт (dst-port 80|443|21), то входящий
> будет либо *с* того же порта, либо, как в случае с ftp, *с* другого
> известного (src-port 80|443|20).
ftp data пойдет с порта 20 на динамический 1024-65535 только в
активном режиме, а активный режим ftp редко импользуется ибо имеет
проблемы с NAT.
В пассивном режиме ftp используются динамические порты 1024-65535 с
обоих сторон.
>> Я всегда делаю три полосы. В более приоритетные направляю явно. Все
>> остальное - в третью полосу.
>
> Ну я тоже склоняюсь, что для моей задачи проще приоритетному трафику
> гарантировать полосу, чем остальное урезать...
А так ИМХО всегда лучше делать. Разрешения и привилегии лучше всегда
явно выдавать.
> Есть также мысль к более приоритетным отнести все udp-пакеты. Чтобы с
> ip-телефонией проблем было меньше и с другими поточными вещами. Есть в
> этом смысл или лучше не стоит?
Зависит от конкретных условий. Но в случае трех полос ИМХО редко когда
мешает засунуть udp во вторую полосу.
--
With Best Regards, Maxim Tyurin
JID: MrKooll@jabber.pibhe.com
___
/ _ )__ _____ ___ ____ _______ _____
/ _ / // / _ \/ _ `/ _ `/ __/ // (_-<
/____/\_,_/_//_/\_, /\_,_/_/ \_,_/___/
/___/
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-23 12:46 ` Maxim Tyurin
@ 2009-01-26 13:25 ` Денис Черносов
2009-01-27 11:03 ` Денис Черносов
0 siblings, 1 reply; 21+ messages in thread
From: Денис Черносов @ 2009-01-26 13:25 UTC (permalink / raw)
To: ALT Linux Community general discussions
Что-то я туплю...
1) Добавил маркировку пакетов в mangle/PREROUTING. Если поставить
журналирование маркированных пакетов в filter/FORWARD, то видно, что
пакеты маркируются.
# cat /etc/net/ifaces/default/fw/iptables/mangle/PREROUTING
-i wan -p tcp -m tcp -m multiport --sports 443,25,110,143 -j MARK --set-mark 11
-i wan -p tcp -m tcp --sport 80 -j MARK --set-mark 12
...
# cat /etc/net/ifaces/default/fw/iptables/filter/FORWARD
-m mark --mark 11 -j LOG
-m mark --mark 12 -j LOG
...
# tail /var/log/messages
Jan 26 17:24:33 gate kernel: IN=wan OUT=lan SRC=81.177.9.109
DST=192.168.5.148 LEN=238 TOS=0x00 PREC=0x00 TTL=120 ID=16505 DF
PROTO=TCP SPT=443 DPT=3723 WINDOW=32430 RES=0x00 ACK PSH URGP=0
Jan 26 17:24:33 gate kernel: IN=wan OUT=lan SRC=217.74.44.32
DST=192.168.5.7 LEN=280 TOS=0x00 PREC=0x00 TTL=122 ID=22799 DF
PROTO=TCP SPT=443 DPT=5774 WINDOW=64453 RES=0x00 ACK PSH URGP=0
Jan 26 17:24:33 gate kernel: IN=wan OUT=lan SRC=81.177.9.109
DST=192.168.5.148 LEN=112 TOS=0x00 PREC=0x00 TTL=120 ID=18766 DF
PROTO=TCP SPT=443 DPT=3723 WINDOW=32430 RES=0x00 ACK PSH URGP=0
...
2) сделал три очереди (дефолтная 13):
# find /etc/net/ifaces/lan/
/etc/net/ifaces/lan/
/etc/net/ifaces/lan/qos
/etc/net/ifaces/lan/qos/1
/etc/net/ifaces/lan/qos/1/1
/etc/net/ifaces/lan/qos/1/1/13
/etc/net/ifaces/lan/qos/1/1/13/class
/etc/net/ifaces/lan/qos/1/1/extra
/etc/net/ifaces/lan/qos/1/1/class
/etc/net/ifaces/lan/qos/1/1/11
/etc/net/ifaces/lan/qos/1/1/11/class
/etc/net/ifaces/lan/qos/1/1/11/filter
/etc/net/ifaces/lan/qos/1/1/12
/etc/net/ifaces/lan/qos/1/1/12/class
/etc/net/ifaces/lan/qos/1/1/12/filter
/etc/net/ifaces/lan/qos/1/qdisc
/etc/net/ifaces/lan/ipv4address
/etc/net/ifaces/lan/options
# cat /etc/net/ifaces/lan/qos/1/qdisc
htb default 13
#cat /etc/net/ifaces/lan/qos/1/1/11/filter
protocol ip prio 1 handle 11 fw
Но пакеты попадают только в дефолтную очередь:
# eqos lan stat class
Interface is "lan"
Action is "stat"
"class" statistics on device lan:
class htb 1:11 parent 1:1 prio 0 quantum 1000 rate 64000bit ceil
100000Kbit burst 1631b/8 mpu 0b overhead 0b cburst 51599b/8 mpu 0b
overhead 0b level 0
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 208895 ctokens: 4227
class htb 1:1 root rate 100000Kbit ceil 100000Kbit burst 51599b/8 mpu
0b overhead 0b cburst 51599b/8 mpu 0b overhead 0b level 7
Sent 2700907 bytes 2419 pkt (dropped 0, overlimits 0 requeues 0)
rate 240136bit 26pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 4217 ctokens: 4217
class htb 1:13 parent 1:1 prio 0 quantum 200000 rate 100000Kbit ceil
100000Kbit burst 51599b/8 mpu 0b overhead 0b cburst 51599b/8 mpu 0b
overhead 0b level 0
Sent 2700907 bytes 2419 pkt (dropped 0, overlimits 0 requeues 0)
rate 234144bit 25pps backlog 0b 0p requeues 0
lended: 2419 borrowed: 0 giants: 0
tokens: 4217 ctokens: 4217
class htb 1:12 parent 1:1 prio 0 quantum 1000 rate 64000bit ceil
100000Kbit burst 1631b/8 mpu 0b overhead 0b cburst 51599b/8 mpu 0b
overhead 0b level 0
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 208895 ctokens: 4227
Что я не так делаю?
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-26 13:25 ` Денис Черносов
@ 2009-01-27 11:03 ` Денис Черносов
2009-01-28 9:57 ` Денис Черносов
0 siblings, 1 reply; 21+ messages in thread
From: Денис Черносов @ 2009-01-27 11:03 UTC (permalink / raw)
To: ALT Linux Community general discussions
Хелп энибади! Очень нужная фича на фирме.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-27 11:03 ` Денис Черносов
@ 2009-01-28 9:57 ` Денис Черносов
2009-01-28 20:22 ` Maks Re
0 siblings, 1 reply; 21+ messages in thread
From: Денис Черносов @ 2009-01-28 9:57 UTC (permalink / raw)
To: ALT Linux Community general discussions
Мать-мать... Заработало!
Вся пакость была в том, что на верхнем уровне тоже обязательно нужно
было создать фильтр. На весь трафик.
В статье с altlinux.org это было, а в примерах к пакету не было
нигде... (может быть багу повесить на документацию в пакете etcnet?)
В итоге, весь трафик уходил в дефолтную трубу, не проходя по цепочке.
Блин, ни разу не очевидное поведение :(
P.S. Остался еще невыясненный для меня вопрос: параметр prio. Обычно
он равен 1 для простого трафика и >1 для приоритетного. Можно ли
опускать этот параметр?
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-22 13:43 ` Maks Re
2009-01-22 13:56 ` Dmitriy Kruglikov
2009-01-22 15:55 ` Vasyuk_Maksim
@ 2009-01-22 16:01 ` Vasyuk_Maksim
2 siblings, 0 replies; 21+ messages in thread
From: Vasyuk_Maksim @ 2009-01-22 16:01 UTC (permalink / raw)
To: ALT Linux Community general discussions
Maks Re пишет:
>>> А что мешает шейпить прожерливые torrent & ftp на интерфейсе который
>>> смотрит в локалку?
>>>
>> Прикольная идея... Надо обдумать...
>>
>>
>
> Ну наврное тот факт что тогдла мы уже получили траффик а потом ограничили...
> в большой сети - это метод воспитания.
> а в маленькой - оплата трафика...
>
Так по полной управлять можешь только исходящим трафиком, или я ошибаюсь?
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-01-16 9:05 [Comm] Как разделять узкую полосу пропускания для входящего трафика? Денис Черносов
2009-01-18 10:14 ` Vasyuk_Maksim
2009-01-21 18:44 ` Maxim Tyurin
@ 2009-02-02 8:38 ` Alexey Borovskoy
2009-02-02 10:04 ` Денис Черносов
2 siblings, 1 reply; 21+ messages in thread
From: Alexey Borovskoy @ 2009-02-02 8:38 UTC (permalink / raw)
To: ALT Linux Community general discussions
[-- Attachment #1: Type: text/plain, Size: 415 bytes --]
* Пятница 16 января 2009 Денис Черносов
> С тех пор, как перешли на безлимитный, но медленный интернет,
> есть задача разделить полосу пропускания по приоритетам и/или
> гарантированным полосам пропускания.
А как каждому хосту внутри сети выдать определенную полосу, в
зависимости от сети назрачения? Не городя кучу фильтров.
--
Алексей.
GPG key fingerprint
949B BC0E 2C44 7528 4F63 2753 E37A 9E3F 11F3 BDE1
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [Comm] Как разделять узкую полосу пропускания для входящего трафика?
2009-02-02 8:38 ` Alexey Borovskoy
@ 2009-02-02 10:04 ` Денис Черносов
0 siblings, 0 replies; 21+ messages in thread
From: Денис Черносов @ 2009-02-02 10:04 UTC (permalink / raw)
To: ALT Linux Community general discussions
2 февраля 2009 г. 12:38 пользователь Alexey Borovskoy
<alexey.borovskoy@gmail.com> написал:
> * Пятница 16 января 2009 Денис Черносов
>
>> С тех пор, как перешли на безлимитный, но медленный интернет,
>> есть задача разделить полосу пропускания по приоритетам и/или
>> гарантированным полосам пропускания.
>
> А как каждому хосту внутри сети выдать определенную полосу, в
> зависимости от сети назрачения? Не городя кучу фильтров.
Для веб-трафика, можно правилами squid-а. Там есть соотв -е правила.
Причём, можно не только для веб, но и для всего, что может работать
через http-прокси. Только для соотв. софта нужно будет руками
настройки на клиентах выставлять, потому что для проксирования.
В общем же случае, мне самым простым и идеологически выдержанным
видится поднятие pppoe-сервера и раздачу инета только через него.
Ширину каждого виртуального канала можно настраивать, если я ничего не
путаю...
--
С уважением,
Черносов Денис
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2009-02-04 11:57 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-16 9:05 [Comm] Как разделять узкую полосу пропускания для входящего трафика? Денис Черносов
2009-01-18 10:14 ` Vasyuk_Maksim
2009-01-21 18:44 ` Maxim Tyurin
2009-01-22 13:35 ` Денис Черносов
2009-01-22 13:43 ` Maks Re
2009-01-22 13:56 ` Dmitriy Kruglikov
2009-01-22 15:55 ` Vasyuk_Maksim
2009-01-22 17:29 ` Maxim Tyurin
2009-01-23 6:51 ` Денис Черносов
2009-01-23 8:38 ` Maxim Tyurin
2009-01-23 9:34 ` Денис Черносов
2009-01-23 12:46 ` Maxim Tyurin
2009-01-26 13:25 ` Денис Черносов
2009-01-27 11:03 ` Денис Черносов
2009-01-28 9:57 ` Денис Черносов
2009-01-28 20:22 ` Maks Re
2009-01-29 6:35 ` Денис Черносов
2009-02-04 11:57 ` Денис Черносов
2009-01-22 16:01 ` Vasyuk_Maksim
2009-02-02 8:38 ` Alexey Borovskoy
2009-02-02 10:04 ` Денис Черносов
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git