LINUX.ORG.RU
ФорумAdmin

Linux + traffic shaper


0

0

Подскажите нормальные инструменты для ограничения/управления траффика. Чтобы с нормальным синтаксисом.

Перемещено Shaman007 из Talks


Ответ на: комментарий от anonymous

> iproute2

Чтобы нормально настроить tc надо травы вагон. Я не админ и мне не хочется посвящать этому полжизни. Нужно всего лишь приоретизация и ограничение исходящего траффика для нескольких хостов.

tmp123
() автор топика
Ответ на: комментарий от tmp123

> Чтобы нормально настроить tc надо травы вагон. Я не админ и мне не хочется посвящать этому полжизни. Нужно всего лишь приоретизация и ограничение исходящего траффика для нескольких хостов.

Поставить венду?

vladislav ★★
()
Ответ на: комментарий от vladislav

> Поставить венду?

Извините за грубость, но ничего умнее вы придумать не могли? Хотеть нормальный синтаксис и настраивать правила не через попу никак не сочитается с вашими кулхацкерными фантазиями?

tmp123
() автор топика
Ответ на: комментарий от MiDoS

> shorewall ?

Ну по описанию вроде неплохо, но нету ли у него проблем как у, например, tcng, с необходимостью помечать iptables'ом пакеты, чтобы управлять траффиком с определенных хостов?

tmp123
() автор топика
Ответ на: комментарий от tmp123

> Извините за грубость, но ничего умнее вы придумать не могли? Хотеть нормальный синтаксис и настраивать правила не через попу никак не сочитается с вашими кулхацкерными фантазиями?

Ничего личного. Но мне кажется - всегда лучше понимать, что делаешь, хотя бы поверхностно. IMHO - это лучше чем ввести два параметра в неизвестно что. Не хотел обидеть

vladislav ★★
()
Ответ на: комментарий от vladislav

> Ничего личного. Но мне кажется - всегда лучше понимать, что делаешь, хотя бы поверхностно. IMHO - это лучше чем ввести два параметра в неизвестно что.

Я понимаю что мне предстоит сделать, я лишь хочу синтаксис для человека, а не для машины.

tmp123
() автор топика
Ответ на: комментарий от tmp123

> Я понимаю что мне предстоит сделать, я лишь хочу синтаксис для человека, а не для машины.

возможно wondershaper?

vladislav ★★
()
Ответ на: комментарий от tmp123

>Я понимаю что мне предстоит сделать, я лишь хочу синтаксис для человека, а не для машины.

Инструманты вам указали. Вожможно хватит и одного iptebles. Если считаете ЭТО сложным корпарация майкрософт произвидит весьма простые в освоении продукты. В них можно сначала тыкать, а потом думать, что ты тыкнул. Или не думать вообще, что я вижу вас и привлекает. Неуже ли так сложно прочесть ман? Тем более, что весь инет завален весьма вменяемыми русскоязычными руководствами по этим пакетам. Линукс тем и отличается, что сначала надо понять, что делаеть, как делать и только потом делать. Но ва мбольше нравится второй подход: бездумно потыкать в кнопочки, а потом бегать по потолку с намыленной жопой и криком мы все умрем.

anonymous
()
Ответ на: комментарий от anonymous

Да какие нахрен кнопочки? Вы вообще читаете сообщения, прежде чем на них отвечать? Синтаксис tc -- нормален? Да? А программируете вы, видимо, на ассемблере?

Если кратко:

Нормально:

#include "fields.tc"     (1)
#include "ports.tc"

#define INTERFACE  eth0  (2)

dev INTERFACE {
    egress { (3)

        /* In class selection path, the filters come first!  DSmark */ (4)

        class ( <$ssh> )    if tcp_sport ==  22 && ip_tos_delay == 1 ;
        class ( <$audio> )  if tcp_sport == 554 || tcp_dport == 7070 ;
        class ( <$bulk> ) \
            if tcp_sport == PORT_SSH || tcp_dport == PORT_HTTP ; (5)
        class ( <$other> )  if 1 ; (6)

        /* section in which we configure the qdiscs and classes */ 

        htb () { (7)
            class ( rate 600kbps, ceil 600kbps ) { (8)
                $ssh   = class ( rate  64kbps, ceil 128kbps ) { sfq; } ; 
              (9) $audio = class ( rate 128kbps, ceil 128kbps ) { sfq; } ;
                $bulk  = class ( rate 256kbps, ceil 512kbps ) { sfq; } ;
                $other = class ( rate 128kbps, ceil 384kbps ) { sfq; } ; (10)
            }
        }
    }
}

Через жопу:

tc qdisc add dev eth0 handle 1:0 root dsmark indices 2 default_index 0
tc qdisc add dev eth0 handle 2:0 parent 1:0 htb r2q 7
tc class add dev eth0 parent 2:0 classid 2:1 htb rate 125000bps ceil 128000bps
tc class add dev eth0 parent 2:1 classid 2:2 htb rate 125000bps ceil 128000bps
tc qdisc add dev eth0 handle 3:0 parent 2:2 sfq
tc filter add dev eth0 parent 2:0 protocol all prio 1 tcindex mask 0x1 shift 0
tc filter add dev eth0 parent 2:0 protocol all prio 1 handle 1 tcindex classid 2:2
tc filter add dev eth0 parent 1:0 protocol all prio 1 u32 match u32 0xc0a80000 0xffffff00 at 16 classid 1:1
tc filter add dev eth0 parent 1:0 protocol all prio 1 u32 match u32 0x0 0x0 at 0 classid 1:0 police index 1 rate 1bps burst 1 action drop/drop

tmp123
() автор топика
Ответ на: комментарий от kilolife

> ИМХО через жопу именно первый вариант. > Во втором все понятно чего и куда.

Абсолютно согласен. И так же согласен по поводу того, что топикстартеру лучше обратиться к продуктам оффтопика. Если не хочется/не можется думать - лучше за линух не браться.

shell-script ★★★★★
()

оба варианта выглядят страшны. но вот если юзать tc+cbq то всё гораздо проще.

anonymous
()
28 апреля 2008 г.
Ответ на: комментарий от anonymous

психи. у человека вопрос конкретный, а вы все об MS...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.