LINUX.ORG.RU
ФорумAdmin

tc + HTB помогите


0

0

У меня етот задача. У меня 256kb/s интернете на eth0. Надо разделит её - eth1=128kb/s гарантированая и eth2=ме гарантированая. Для клиентов мне ничего не сказали.

#вытираю root дисциплины для eth0, eth1 и eth2 tc qdisc del dev eth2 root tc qdisc del dev eth1 root tc qdisc del dev eth0 root

#добавляю htb root дисциплине на eth0 tc qdisc add dev eth0 root handle 1: htb default 10 #создаю клас 1:1, на которы гарантированая скорость 256kb/s и максимальная скорость 256kb/s tc class add dev eth0 parent 1: classid 1:1 htb rate 256kbit ceil 256kbit #для что ето я незнаю, добавяю другая дисциплина sfq? parent ? perturb? tc qdisc add dev eth0 parent 1:1 handle 10: sfq perturb 10

#eth1 #добавляю htb root дисциплине на eth1 tc qdisc add dev eth1 root handle 1: htb default 10 #создаю клас 1:1, на которы гарантированая скорость 128kb/s и максимальная скорость 128kb/s tc class add dev eth1 parent 1: classid 1:1 htb rate 128kbit ceil 128kbit

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

#добавляю htb root дисциплине на eth2 tc qdisc add dev eth2 root handle 1: htb default 10 #создаю клас 1:1, на которы максимальная скорость 128kb/s tc class add dev eth2 parent 1: classid 1:1 htb rate 1kbit ceil 256kbit Ето надо не будет гарантированая скорость. Можно ли сделать ето без rate? Задальжительны ли Rate?

tc qdisc add dev eth2 parent 1:1 handle 10: sfq perturb 10

Нужно ли в етот случае употреба фильтры?

Как можно забранить всех портов с iptables? Как можно разрешить всех портов с iptables?


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

PPS. SFQ используется в краевых дисциплинах для справедливого дележа канала между многими IP, perturb тебе можно не указывать

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

Похоже что для человека русский - не родной :)

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

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

buddy
()

Приношу свои извинения, я воспринял текст несколько "по-местному", а вопрос о языке для меня довольно болезненен.

>Как можно забранить всех портов с iptables? Как можно разрешить всех портов с iptables?

Чтобы закрыть весь доступ нужно просто установить политику по-умолчанию для проходящих пакетов в DROP (`iptables -P FORWARD DROP`) и удалить все правила, которые, возможно, доступ разрешают (да хоть и `iptables -F;iptables -F -t nat`

Чтобы доступ разрешить, нужно указать откуда и куда:

#Забросы
$IPTABLES -A FORWARD -s 192.168.0.0/24 -o $ISP_IFACE -j ACCEPT
#Ответы
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

И (вероятно) сделать

$IPTABLES -t nat -A POSTROUTING -o $ISP_IFACE -j SNAT --to-source $ISP_IP

Тут $ISP_IFACE у тебя видимо eth0, $ISP_IP - IP что смотрит у тебя в сеть провайдера, а 192.168.0.0/24 - твоя сеть.

По портам ограничивать доступ можно так:

$IPTABLES -A FORWARD -p TCP -s 0/0 --dport 110 -j allowed

fagot ★★★★★
()

>Надо разделит её - eth1=128kb/s гарантированая и eth2=ме гарантированая.

Если речь идет о балансировке на двух интерфейсах, то это будет несколько сложнее. Дело в том, что все эти настройки не могут распространятся за пределы интерфейса. Правда можно все запросы заворачивать на один интерфейс и потом обрабатывать - для этого существует такая штука как IMQ. Для его использования вообще-то нужно пропатчить и ядро и iptables, если сильно надо - придется разбираться.

>Можно ли сделать ето без rate? Задальжительны ли Rate?

нет, но можно сделать rate маленьким, а CEIL большим :)

>Нужно ли в етот случае употреба фильтры?

этого не понял.

В целом, поскольку у тебя статические интерфейсы, тебе будет проще использовать сткипт htb.init, нежели ковырять синтаксис tc, или хотябы посмотреть, как это делает htb.init - http://sourceforge.net/projects/htbinit

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

>$IPTABLES -A FORWARD -p TCP -s 0/0 --dport 110 -j allowed

Пардон, allowed тут - это не встроенная цепочка, можно заменить на ACCEPT

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