LinuxForum.Fans
Тема

Шейпирование трафика

Автор: MAS 13 сообщений 4288 просмотров
#122063

Уважаемые форумчани,подскажите добился ли я ефекта фильтрации трафика (разделения).
К примеру у нас есть 3 машины VDS с IP: 192.168.0.101,192.168.0.102,192.168.0.103 и нетом в 100мбит на всех.

DEV=venet0
tc qdisc del dev $DEV root
tc qdisc add dev $DEV root handle 1: htb
tc class add dev $DEV parent 1: classid 1:1 htb rate 20mbit ceil 40mbit
tc class add dev $DEV parent 1: classid 1:2 htb rate 40mbit ceil 60mbit
tc class add dev $DEV parent 1: classid 1:3 htb rate 40mbit ceil 60mbit
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 192.168.0.101 flowid 1:1
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 192.168.0.102 flowid 1:2
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 192.168.0.103 flowid 1:3

Цель была ограничить исход конект для 101 на 20 мбит,для второго и третего на 40 мбит. При установке их на ноду,ошибок нету. Но работают ли они?

#122069

По хорошему должен.

#122077

Будем надеяться :)
Если же кто то нашол ошибку,прошу написать.


По поводу tc,конфиги сбиваються после ребута ноды?

#122079

А вы их куда нибудь положили чтобы при загрузке применялись?
Кроме этих VDS других не будет просто не прописали по умолчанию правило smile

#122080

Нет не куда не ложил. Но создал для себя .sh скриптик,для быстрого применения их :)

Kettler написал:
Кроме этих VDS других не будет просто не прописали по умолчанию правило

Вот это немного не понял. В каком смысле других VDS не будет?

#122081

Ну кроме этих 3 ещё будет в сети?
И ещё вы скорость режете ток в одном направлении.

#122084
Kettler написал:
Ну кроме этих 3 ещё будет в сети?

Пока нет :) Так как на сервере всего 3 IP выделенно. Я для теста себе взял 12 ГБ ОЗУ сервер.

Я понимаю что на остальные IP правила действовать не будут :)

Kettler написал:
И ещё вы скорость режете ток в одном направлении.

Только вчера в ~02:14 ночи начал с этим разбираться,мне бы пока освоить азы. Настроить на исход не так трудно.

DEV=etc0
tc qdisc del dev $DEV root
tc qdisc add dev $DEV root handle 2: htb
tc class add dev $DEV parent 2: classid 2:1 htb rate 20mbit ceil 40mbit
tc class add dev $DEV parent 2: classid 2:2 htb rate 40mbit ceil 60mbit
tc class add dev $DEV parent 2: classid 2:3 htb rate 40mbit ceil 60mbit
tc filter add dev $DEV parent 2: protocol ip prio 16 u32 match ip src 192.168.0.101 flowid 2:1
tc filter add dev $DEV parent 2: protocol ip prio 16 u32 match ip src 192.168.0.102 flowid 2:2
tc filter add dev $DEV parent 2: protocol ip prio 16 u32 match ip src 192.168.0.103 flowid 2:3

Примерно так. src вместо dst,и присваиваем ID 2,главному правилу,а после логические цепочки :)
Правильно?

#122086

tc qdisc add dev eth1 handle ffff: ingress
tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 192.168.0.1 police rate 100mbit burst 10k drop flowid :2
tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 192.168.0.1 police rate 100mbit burst 10k drop flowid :2
tc filter add dev eth1 parent ffff: protocol ip prio 50 u32 match ip src 192.168.0.1 police rate 100mbit burst 10k drop flowid :3

Ну конечно под себя надо править.

#122088

Если не трудно,в кратце обьясните пожалуйста,что означают эти значения.

Kettler написал:
prio 50
Kettler написал:
burst 10k

Kettler написал:
drop flowid :2
- Drop? Что оно будет сбрасывать? Привишение конекта? :o
и тут не понял немного...возможно
drop flowid :1
drop flowid :2
drop flowid :3 ?
#122091

Огромное спасибо :)

#122092

Честно без данных манов запутаешься :D сам до сих пор вникаю.

#122140

Правильное ограничение по ип)
tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 10mbit
tc class add dev $DEV parent 1: classid 1:1 cbq rate 512kbit allot 1500 prio 5 bounded isolated
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 195.96.96.97 flowid 1:1

Войдите или зарегистрируйтесь, чтобы ответить.