Jump to content
Калькуляторы

tc - две очереди подряд Сначала приоритеты, потом по клиентам

Имеется шейпер, предназначенный для расстановки приоритеов трафику:

 

qdisc htb 1: root r2q 10 default 40 direct_packets_stat 122787

qdisc sfq 10: parent 1:10 limit 127p quantum 1514b perturb 10sec

qdisc sfq 20: parent 1:20 limit 127p quantum 1514b perturb 10sec

qdisc sfq 30: parent 1:30 limit 127p quantum 1514b perturb 10sec

class htb 1:1 root rate 25000Kbit ceil 25000Kbit burst 1600b cburst 1600b

class htb 1:10 parent 1:1 leaf 10: prio 0 rate 15000Kbit ceil 25000Kbit burst 1597b cburst 1600b

class htb 1:20 parent 1:1 leaf 20: prio 1 rate 7000Kbit ceil 25000Kbit burst 1598b cburst 1600b

class htb 1:30 parent 1:1 leaf 30: prio 2 rate 5000Kbit ceil 25000Kbit burst 1600b cburst 1600b

 

И соответственно при помощи iptables раскидываем приоритетный трафик в 1:10, средний - в 1:20, торренты - в 1:30 и т.п.

 

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

 

Возможно ли это на одной физической машине? Или только две подряд нужно ставить? Хотелось бы убрать зоопарк :)

 

Заранее спасибо, за любые наводки!

Edited by vladd

Share this post


Link to post
Share on other sites

Абривеатура HTB вкурсе как расшифровывается? Поинтересуйтесь.

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

Edited by SokolovS

Share this post


Link to post
Share on other sites
Абривеатура HTB вкурсе как расшифровывается? Поинтересуйтесь.

Вкурсе. Шейперов настроил уже много. Но сейчас задача выходит за рамки иерархической структуры. Нужно сначала трафик прогнать через одно дерево классов (чтобы на выходе первым шел приоритезированный трафик), потом через второе дерево - распределить весь трафик, выходящий из первого дерева по клиентам.

 

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

Эти классы предназначены для сортировки магистрального трафика по приоритетам. Потом _весь_ этот трафик нужно еще раз классифицировать, но уже по IP. А не каждый приоритет по отдельности. Поэтому и не понятно, куда пихать классы на каждого пользователя.

Edited by vladd

Share this post


Link to post
Share on other sites
Имеется шейпер, предназначенный для расстановки приоритеов трафику:

 

 

Возможно ли это на одной физической машине? Или только две подряд нужно ставить? Хотелось бы убрать зоопарк :)

 

Заранее спасибо, за любые наводки!

На другом интерфейсе

Share this post


Link to post
Share on other sites

Возможно ли это на одной физической машине? Или только две подряд нужно ставить? Хотелось бы убрать зоопарк :)

Заранее спасибо, за любые наводки!

На другом интерфейсе

Каким образом это можно сделать, при том что интерфейс для исходящего трафика всего один. И даже если как-то замутить какой-нибудь туннель через localhost (с обоими концами на одной машине), не свихнется ли conntrack? Ведь на той же машине нужно делать еще и NAT.

 

Share this post


Link to post
Share on other sites

В теории можно:

- ingress-трафик внешнего интерфейса завернуть на ifb

- на ifb повесить или htb или prio

- на ifb повесить фильтры разбрасывающие по классам в зависимости от типа трафика (приоритетный, средний, p2p,... )

- на внутренний интерфейс повесить htb с классами/фильтрами, которые непосредственно нарезают полосы клиентам

 

... на практике... :)

Edited by DemYaN

Share this post


Link to post
Share on other sites
В теории можно:

- ingress-трафик внешнего интерфейса завернуть на ifb

- на ifb повесить или htb или prio

- на ifb повесить фильтры разбрасывающие по классам в зависимости от типа трафика (приоритетный, средний, p2p,... )

- на внутренний интерфейс повесить htb с классами/фильтрами, которые непосредственно нарезают полосы клиентам

 

... на практике... :)

Буду пробовать, а что делать. А nat будет работать? Помню давно пытался что-то подобное делать - он постоянно ругался на повторы пакетов (т.к. трафик два раза проходил через одну и ту же систему).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this