Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Vik в Apr 20, 2007, 22:32



Титла: Принципен въпрос за шейпър
Публикувано от: Vik в Apr 20, 2007, 22:32
Здравейте,

Имам до болка познатата схема на малка мрежа в къщи - адсл, рутер с дебиан и 4 пц зад рутера. Понаправих си елементарни шейпъри и всичко изглежда работи добре с едно изключение.
Не мога да огранича ъплоад -а на компютрите от мрежата зад линукс -а. Значи ограничил съм скоростта към модема, сложил съм приоритети за две три услуги.
Ако трябва да има шейпър на ъплоад - каде трябва да е той и как трябва да изглежда че да не се дава общ за всички а всеки да има отделен.
адрес на модем 192.168.1.2 eth0
адрес на мрежа 192.168.16.0/28 eth1


Титла: Принципен въпрос за шейпър
Публикувано от: daxen в Apr 20, 2007, 23:36
Ако правилна съм те разбрал то отговора е :
Правилата се слагат на изходящия интерфейс демек
даунлоада на eth1 а ъплоада на eth0
не си казал коя дисциплина използваш tbf,sfq,fifo или нъкоя от
класовите дисциплити като prio,cbq,htb.

Принципно за всяка машина ти трябва отделен клас .


Титла: Принципен въпрос за шейпър
Публикувано от: smelkomar в Apr 21, 2007, 01:15
Е как така не можеш да сложиш стойности на общо основание "изходящ трафик" от дадено IP?


Титла: Принципен въпрос за шейпър
Публикувано от: daxen в Apr 21, 2007, 08:53
можеш всичко :)
има доста варянти !


Титла: Принципен въпрос за шейпър
Публикувано от: gat3way в Apr 21, 2007, 09:36
Далеч не можеш всичко, поне не като хората. Ingres shaping-a си е малко фантасмагория, една достатъчно асиметрична комуникация, по възможност UDP-базирана, за да не се коригира с промяна на window sizes, например някакъв video streaming, спокойно може да успее да затръсти линка между теб и доставчика ти, стига той да е достатъчно хилав. При което нямаш никакъв контрол върху това, отговорността това да се избегне лежи колкото върху теб, толкова и върху провайдъра..





Титла: Принципен въпрос за шейпър
Публикувано от: gat3way в Apr 21, 2007, 11:26
Има проблем не само с линукс, но и с каквато и да била операционна система.


Титла: Принципен въпрос за шейпър
Публикувано от: savago в Apr 21, 2007, 12:22
Цитат (gat3way @ Април 21 2007,12:26)
Има проблем не само с линукс, но и с каквато и да била операционна система.

az shto ne vijdam s pf


Титла: Принципен въпрос за шейпър
Публикувано от: gat3way в Apr 21, 2007, 12:38
А какво точно очакваш да видиш?


Титла: Принципен въпрос за шейпър
Публикувано от: savago в Apr 21, 2007, 12:55
Цитат (gat3way @ Април 21 2007,13:38)
А какво точно очакваш да видиш?

problemi s izxodqshtia mislq vizirashe


Титла: Принципен въпрос за шейпър
Публикувано от: gat3way в Apr 21, 2007, 13:11
Мне, ти как превеждаш "ingress" ?


Титла: Принципен въпрос за шейпър
Публикувано от: savago в Apr 21, 2007, 14:04
Цитат (gat3way @ Април 21 2007,14:11)
Мне, ти как превеждаш "ingress" ?

pevejdam go dobre,i bash na ingress-a ti pravq dinamichno shapeing na izxodqshtiq s prioritizacii po grupi i videove traffici barabar s limit  na broi connectcii pak dinamichno,nali me razbirashg pravilno ?


Титла: Принципен въпрос за шейпър
Публикувано от: gat3way в Apr 21, 2007, 14:38
Нещо не мога да схвана какво те терзае :) Вероятно държиш по някакъв начин да изтъкнеш някакви предимства във функционалността на pf/ALTQ срещу линукската имплементация? Ще е добре в такъв случай да се обосновеш, защото аргументи от сорта на "за мен работи добре" или "знам че е по-добре" са в инструментариума на всеки линукс (или още по-зле: БСД) фанатик. Обоснови се, фокусирай се върху нещо конкретно и ще те разбера :)

И апропо, проблемът не е в това дали можеш да правиш маркиране или приоритизация на входящият трафик, естествено, че можеш. Проблемът е най-вече от инфраструктурно естество и от това върху кое имаш и върху кое нямаш контрол. И не е много сложно за обясняване, особено ако има възможност набързо да се надраскат няколко картинки :)


Титла: Принципен въпрос за шейпър
Публикувано от: VladSun в Apr 21, 2007, 15:10
Какъв е винаги този голям проблем с ограничаването на обратния канал?!?!
Абсолютно същото е като за правия, но се прилага върху външния интерфейс ...


Титла: Принципен въпрос за шейпър
Публикувано от: savago в Apr 21, 2007, 15:11
Цитат (gat3way @ Април 21 2007,15:38)
Нещо не мога да схвана какво те терзае :) Вероятно държиш по някакъв начин да изтъкнеш някакви предимства във функционалността на pf/ALTQ срещу линукската имплементация? Ще е добре в такъв случай да се обосновеш, защото аргументи от сорта на "за мен работи добре" или "знам че е по-добре" са в инструментариума на всеки линукс (или още по-зле: БСД) фанатик. Обоснови се, фокусирай се върху нещо конкретно и ще те разбера :)

И апропо, проблемът не е в това дали можеш да правиш маркиране или приоритизация на входящият трафик, естествено, че можеш. Проблемът е най-вече от инфраструктурно естество и от това върху кое имаш и върху кое нямаш контрол. И не е много сложно за обясняване, особено ако има възможност набързо да се надраскат няколко картинки :)

Nqma kvo da me terzae,opitvam se da pomogna na  choveka.
Nqma i kakvo da iztukvam,vseki raboti s tova koeto moje ,no ti migrirai kum *BSD OS opoznai materiqta i sam shte se ubedish kolko e prosto vsichko.


Титла: Принципен въпрос за шейпър
Публикувано от: smelkomar в Apr 21, 2007, 15:38
То и аз нямам проблеми с altq и pf, чак да не повярваш. Проблем мога да нарека липсата на по-бърза машина...


Титла: Принципен въпрос за шейпър
Публикувано от: gat3way в Apr 21, 2007, 16:09
ОК, ето го проблема. Понеже няма как да чертая, ето я същата диаграма:

http://www.sigsegv.cx/isp-edge.png

Сега, представете си, че ISP-то ви не извършва QoS върху линията към вас/не го прави като хората/линията няма голям капацитет така или иначе.

Искате да го компенсирате с ingress shaping, ОК. При TCP конекции даже ще е ефективно, щото ще се бавят потвържденията, ще влизат в действие congestion avoidance алгоритмите, ще се сваля големината на прозореца и съответно "скоростта" на връзката по този начин.

Сега обаче си представете UDP-базиран видео стрийминг. UDP няма механизъм подобно на TCP да си регулира по някакъв начин скоростта на изпращане: тя си зависи единствено от това доколко натоварени са линиите и рутерите по пътя.

Естествено, слагаш им ingress shaping и тези същите пакети "влизат" в локалната мрежа със скоростта с която кажеш. Обаче линията между теб и доставчика продължава да си бъде натоварена, следователно накрая си го отнася външния капацитет като цяло. И това по никакъв начин не можеш да го промениш, защото не можеш да контролираш рутера на доставчика си и да си слагаш правила, каквито ти изнасят, предполагам сте съгласни :)

Сега ако някой капацитет може да обясни някакъв механизъм в *BSD, който може да предотврати това, нека да си каже. Аз лично не знам.

Е, това е накратко.


Титла: Принципен въпрос за шейпър
Публикувано от: savago в Apr 21, 2007, 20:47
Vxodqshtiq trafic ne se ogranichava bre momche,taka v reda na tvoite misli nikoga nqma da predlojich kachestvena usluga.
Sheping se pravi na izxodqsht  traffic(egress).Stiga si motal veche horata.
I tova sa gluposti"
UDP няма механизъм подобно на TCP да си регулира по някакъв начин скоростта на изпращане: тя си зависи единствено от това доколко натоварени са линиите и рутерите по пътя"

etoti edno PROSTO rule
opisvash:
queue udp bandwidth 30% cbq(borrow red)
i puskash:
pass out on $ext_if proto udp all keep state queue udp

ti kak mislish dali she stane ?





Титла: Принципен въпрос за шейпър
Публикувано от: alex_c в Apr 21, 2007, 21:26
Може, ако има кой да те чуе по трасето  :)


Титла: Принципен въпрос за шейпър
Публикувано от: gat3way в Apr 22, 2007, 00:59
Цитат
bash na ingress-a ti pravq dinamichno shapeing na izxodqshtiq s prioritizacii po grupi i videove traffici barabar s limit  na broi connectcii pak dinamichno,nali me razbirashg pravilno ?


Цитат

Vxodqshtiq trafic ne se ogranichava bre momche,taka v reda na tvoite misli nikoga nqma da predlojich kachestvena usluga.Sheping se pravi na izxodqsht  traffic(egress).Stiga si motal veche horata.
I tova sa gluposti"


Добре, де, както решиш. Помогни на човека, сложи му там openbsd, направи същото още веднъж, подкарай му carp и на двете, за всеки случай и защото VRRP не струва, а пък netfilter и tc са просто нескопосана линукска гавра, ти знаеш най-добре :)

Посъветвай го също когато чуе името "Тео" да си удари няколко пъти челото в пода и да издекламира някоя БСД молитва :) Линукс не струва, Линукс се списва  от сбирщина некадърници, линукс не е "професионална" ОС, най-вече обаче не е "хакерска" ОС :)

И въпреки всичко не разбрах крайната идея, много жалко. Разбрах само че pf-а на BSD-тата можел да прави много неща, които очевидно трябва погрешно да съм си мислел, че само линукс можел да прави. Ми похвално. Ако това е твоята идея, то ние не спорим за нищо, изначално съм съгласен с тебе :)

Както и да е, не ми се занимава с това повече, няма смисъл така да се излагаме всички, мен ако питаш :)





Титла: Принципен въпрос за шейпър
Публикувано от: Vik в Apr 22, 2007, 10:42
Интересна дискусия.
Проблема е доста по-прост.
За ъплоад ми е ясно че ще ограничавам на eth0 интерфейса - той е към модема.
Вапроса е че искам да ограничавам по ИП, а пак в мрежата на модема има НАТ на мрежата зад линукса(192.168.16.ххх) - виждат се адресите 192.168.1.2.
Четох за ингрес - вапроса е че не намирам практични примерни.



Не искам да ограничавам по протколи и т.н. само по ИП с други  думи всяко ИП да има примерно 5к/сек за ъплоад. Как ще стана на практика?





Титла: Принципен въпрос за шейпър
Публикувано от: VladSun в Apr 23, 2007, 11:24
Използвай маркери:

man iptables
MARK
mark

А, ако искаш виж моето решение: http://openfmi.net/projects/flattc/

То работи във версия 0.2 с маркери, а в 0.3 с директна промяна на ТС индекса. Скриптовете са прости - все нещо ще ти е от полза.





Титла: Принципен въпрос за шейпър
Публикувано от: martos в Apr 23, 2007, 12:00
http://www.linuximq.net/


Титла: Принципен въпрос за шейпър
Публикувано от: VladSun в Apr 23, 2007, 12:19
Цитат (martos @ Април 23 2007,12:00)
http://www.linuximq.net/

Защо толкова сложно?

Най-голямата полза от IMQ е, когато искаме да "съберем" няколко интерфейса (най-често ppp+) под един общ с цел *динамично* споделяне на канала за връзка между интерфейсите.

Но ... в нашия случай не виждам никаква полза, а само вреда - прекомпилиране на кернел, прекомпилиране на iptables и бъговете в IMQ.





Титла: Принципен въпрос за шейпър
Публикувано от: Vik в Apr 24, 2007, 22:01
Благодаря за идеята.
Това с маркерите ще заработи ли въпреки че се шейпва входядащ трафик за дадения интерфейс.
Ще се пробвам :)